top23 = function(n) { a = 2 ** floor(log(n) / log(2) - .5) while( a < n ) a = 2 * a m = a best = m while( a > 1 ) { a = a / 2 m = m / 2 while( m < n ) m = 3 * m if( m < best ) best = m } best }