#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
void * wmem;
char memarr[ 96000000 ] ;
template < class T> inline void walloc1d( T ** arr, int x, void ** mem = & wmem) {
static int skip[ 16 ] = { 0 , 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 } ;
( * mem) = ( void * ) ( ( ( char * ) ( * mem) ) + skip[ ( ( unsigned long long ) ( * mem) ) & 15 ] ) ;
( * arr) = ( T* ) ( * mem) ;
( * mem) = ( ( * arr) + x) ;
}
template < class T1> void sortA_L( int N, T1 a[ ] , void * mem = wmem) {
sort( a, a+ N) ;
}
template < class T1, class T2> void sortA_L( int N, T1 a[ ] , T2 b[ ] , void * mem = wmem) {
int i;
pair< T1, T2> * arr;
walloc1d( & arr, N, & mem) ;
for ( i= ( 0 ) ; i< ( N) ; i++ ) {
arr[ i] .first = a[ i] ;
arr[ i] .second = b[ i] ;
}
sort( arr, arr+ N) ;
for ( i= ( 0 ) ; i< ( N) ; i++ ) {
a[ i] = arr[ i] .first ;
b[ i] = arr[ i] .second ;
}
}
template < class S> inline void arrInsert( const int k, int & sz, S a[ ] , const S aval) {
int i;
sz++ ;
for ( i= sz- 1 ; i> k; i-- ) {
a[ i] = a[ i- 1 ] ;
}
a[ k] = aval;
}
template < class S, class T> inline void arrInsert( const int k, int & sz, S a[ ] , const S aval, T b[ ] , const T bval) {
int i;
sz++ ;
for ( i= sz- 1 ; i> k; i-- ) {
a[ i] = a[ i- 1 ] ;
}
for ( i= sz- 1 ; i> k; i-- ) {
b[ i] = b[ i- 1 ] ;
}
a[ k] = aval;
b[ k] = bval;
}
template < class S, class T, class U> inline void arrInsert( const int k, int & sz, S a[ ] , const S aval, T b[ ] , const T bval, U c[ ] , const U cval) {
int i;
sz++ ;
for ( i= sz- 1 ; i> k; i-- ) {
a[ i] = a[ i- 1 ] ;
}
for ( i= sz- 1 ; i> k; i-- ) {
b[ i] = b[ i- 1 ] ;
}
for ( i= sz- 1 ; i> k; i-- ) {
c[ i] = c[ i- 1 ] ;
}
a[ k] = aval;
b[ k] = bval;
c[ k] = cval;
}
template < class S, class T, class U, class V> inline void arrInsert( const int k, int & sz, S a[ ] , const S aval, T b[ ] , const T bval, U c[ ] , const U cval, V d[ ] , const V dval) {
int i;
sz++ ;
for ( i= sz- 1 ; i> k; i-- ) {
a[ i] = a[ i- 1 ] ;
}
for ( i= sz- 1 ; i> k; i-- ) {
b[ i] = b[ i- 1 ] ;
}
for ( i= sz- 1 ; i> k; i-- ) {
c[ i] = c[ i- 1 ] ;
}
for ( i= sz- 1 ; i> k; i-- ) {
d[ i] = d[ i- 1 ] ;
}
a[ k] = aval;
b[ k] = bval;
c[ k] = cval;
d[ k] = dval;
}
#define main dummy_main
int main( ) {
wmem = memarr;
return 0 ;
}
#undef main
int getpw( long long n) {
int res = 0 ;
while ( n ! = 1 ) {
res++ ;
if ( n% 2 == 0 ) {
n = n/ 2 ;
}
else {
n = 3 * n+ 1 ;
}
}
return res;
}
int sz;
int val[ 1000 ] ;
int ind[ 1000 ] ;
class Solution{
public :
int getKth( int lo, int hi, int k) {
int i;
dummy_main( ) ;
sz = 0 ;
for ( i= ( lo) ; i< ( hi+ 1 ) ; i++ ) {
arrInsert( sz, sz, val, getpw( i) , ind, i) ;
}
sortA_L( sz,val,ind) ;
return ind[ k- 1 ] ;
}
}
;
// cLay varsion 20200325-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// int getpw(ll n){
// int res = 0;
// while(n != 1){
// res++;
// n = if[n%2==0, n/2, 3*n+1];
// }
// return res;
// }
//
// int sz, val[1000], ind[1000];
//
// class Solution {
// public:
// int getKth(int lo, int hi, int k) {
// dummy_main();
// sz = 0;
// rep(i,lo,hi+1) arrInsert(sz, sz, val, getpw(i), ind, i);
// sortA(sz,val,ind);
// return ind[k-1];
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgKndtZW07CmNoYXIgbWVtYXJyWzk2MDAwMDAwXTsKdGVtcGxhdGU8Y2xhc3MgVD4gaW5saW5lIHZvaWQgd2FsbG9jMWQoVCAqKmFyciwgaW50IHgsIHZvaWQgKiptZW0gPSAmd21lbSl7CiAgc3RhdGljIGludCBza2lwWzE2XSA9IHswLCAxNSwgMTQsIDEzLCAxMiwgMTEsIDEwLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxfTsKICAoKm1lbSkgPSAodm9pZCopKCAoKGNoYXIqKSgqbWVtKSkgKyBza2lwWygodW5zaWduZWQgbG9uZyBsb25nKSgqbWVtKSkgJiAxNV0gKTsKICAoKmFycik9KFQqKSgqbWVtKTsKICAoKm1lbSk9KCgqYXJyKSt4KTsKfQp0ZW1wbGF0ZTxjbGFzcyBUMT4gdm9pZCBzb3J0QV9MKGludCBOLCBUMSBhW10sIHZvaWQgKm1lbSA9IHdtZW0pewogIHNvcnQoYSwgYStOKTsKfQp0ZW1wbGF0ZTxjbGFzcyBUMSwgY2xhc3MgVDI+IHZvaWQgc29ydEFfTChpbnQgTiwgVDEgYVtdLCBUMiBiW10sIHZvaWQgKm1lbSA9IHdtZW0pewogIGludCBpOwogIHBhaXI8VDEsIFQyPiAqYXJyOwogIHdhbGxvYzFkKCZhcnIsIE4sICZtZW0pOwogIGZvcihpPSgwKTtpPChOKTtpKyspewogICAgYXJyW2ldLmZpcnN0ID0gYVtpXTsKICAgIGFycltpXS5zZWNvbmQgPSBiW2ldOwogIH0KICBzb3J0KGFyciwgYXJyK04pOwogIGZvcihpPSgwKTtpPChOKTtpKyspewogICAgYVtpXSA9IGFycltpXS5maXJzdDsKICAgIGJbaV0gPSBhcnJbaV0uc2Vjb25kOwogIH0KfQp0ZW1wbGF0ZTxjbGFzcyBTPiBpbmxpbmUgdm9pZCBhcnJJbnNlcnQoY29uc3QgaW50IGssIGludCAmc3osIFMgYVtdLCBjb25zdCBTIGF2YWwpewogIGludCBpOwogIHN6Kys7CiAgZm9yKGk9c3otMTtpPms7aS0tKXsKICAgIGFbaV0gPSBhW2ktMV07CiAgfQogIGFba10gPSBhdmFsOwp9CnRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+IGlubGluZSB2b2lkIGFyckluc2VydChjb25zdCBpbnQgaywgaW50ICZzeiwgUyBhW10sIGNvbnN0IFMgYXZhbCwgVCBiW10sIGNvbnN0IFQgYnZhbCl7CiAgaW50IGk7CiAgc3orKzsKICBmb3IoaT1zei0xO2k+aztpLS0pewogICAgYVtpXSA9IGFbaS0xXTsKICB9CiAgZm9yKGk9c3otMTtpPms7aS0tKXsKICAgIGJbaV0gPSBiW2ktMV07CiAgfQogIGFba10gPSBhdmFsOwogIGJba10gPSBidmFsOwp9CnRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQsIGNsYXNzIFU+IGlubGluZSB2b2lkIGFyckluc2VydChjb25zdCBpbnQgaywgaW50ICZzeiwgUyBhW10sIGNvbnN0IFMgYXZhbCwgVCBiW10sIGNvbnN0IFQgYnZhbCwgVSBjW10sIGNvbnN0IFUgY3ZhbCl7CiAgaW50IGk7CiAgc3orKzsKICBmb3IoaT1zei0xO2k+aztpLS0pewogICAgYVtpXSA9IGFbaS0xXTsKICB9CiAgZm9yKGk9c3otMTtpPms7aS0tKXsKICAgIGJbaV0gPSBiW2ktMV07CiAgfQogIGZvcihpPXN6LTE7aT5rO2ktLSl7CiAgICBjW2ldID0gY1tpLTFdOwogIH0KICBhW2tdID0gYXZhbDsKICBiW2tdID0gYnZhbDsKICBjW2tdID0gY3ZhbDsKfQp0ZW1wbGF0ZTxjbGFzcyBTLCBjbGFzcyBULCBjbGFzcyBVLCBjbGFzcyBWPiBpbmxpbmUgdm9pZCBhcnJJbnNlcnQoY29uc3QgaW50IGssIGludCAmc3osIFMgYVtdLCBjb25zdCBTIGF2YWwsIFQgYltdLCBjb25zdCBUIGJ2YWwsIFUgY1tdLCBjb25zdCBVIGN2YWwsIFYgZFtdLCBjb25zdCBWIGR2YWwpewogIGludCBpOwogIHN6Kys7CiAgZm9yKGk9c3otMTtpPms7aS0tKXsKICAgIGFbaV0gPSBhW2ktMV07CiAgfQogIGZvcihpPXN6LTE7aT5rO2ktLSl7CiAgICBiW2ldID0gYltpLTFdOwogIH0KICBmb3IoaT1zei0xO2k+aztpLS0pewogICAgY1tpXSA9IGNbaS0xXTsKICB9CiAgZm9yKGk9c3otMTtpPms7aS0tKXsKICAgIGRbaV0gPSBkW2ktMV07CiAgfQogIGFba10gPSBhdmFsOwogIGJba10gPSBidmFsOwogIGNba10gPSBjdmFsOwogIGRba10gPSBkdmFsOwp9CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgd21lbSA9IG1lbWFycjsKICByZXR1cm4gMDsKfQojdW5kZWYgbWFpbgppbnQgZ2V0cHcobG9uZyBsb25nIG4pewogIGludCByZXMgPSAwOwogIHdoaWxlKG4gIT0gMSl7CiAgICByZXMrKzsKICAgIGlmKG4lMj09MCl7CiAgICAgIG4gPW4vMjsKICAgIH0KICAgIGVsc2V7CiAgICAgIG4gPTMqbisxOwogICAgfQogIH0KICByZXR1cm4gcmVzOwp9CmludCBzejsKaW50IHZhbFsxMDAwXTsKaW50IGluZFsxMDAwXTsKY2xhc3MgU29sdXRpb257CiAgcHVibGljOgogIGludCBnZXRLdGgoaW50IGxvLCBpbnQgaGksIGludCBrKXsKICAgIGludCBpOwogICAgZHVtbXlfbWFpbigpOwogICAgc3ogPSAwOwogICAgZm9yKGk9KGxvKTtpPChoaSsxKTtpKyspewogICAgICBhcnJJbnNlcnQoc3osIHN6LCB2YWwsIGdldHB3KGkpLCBpbmQsIGkpOwogICAgfQogICAgc29ydEFfTChzeix2YWwsaW5kKTsKICAgIHJldHVybiBpbmRbay0xXTsKICB9Cn0KOwovLyBjTGF5IHZhcnNpb24gMjAyMDAzMjUtMQoKLy8gLS0tIG9yaWdpbmFsIGNvZGUgLS0tCi8vICNkZWZpbmUgbWFpbiBkdW1teV9tYWluCi8vIHt9Ci8vICN1bmRlZiBtYWluCi8vIAovLyBpbnQgZ2V0cHcobGwgbil7Ci8vICAgaW50IHJlcyA9IDA7Ci8vICAgd2hpbGUobiAhPSAxKXsKLy8gICAgIHJlcysrOwovLyAgICAgbiA9IGlmW24lMj09MCwgbi8yLCAzKm4rMV07Ci8vICAgfQovLyAgIHJldHVybiByZXM7Ci8vIH0KLy8gCi8vIGludCBzeiwgdmFsWzEwMDBdLCBpbmRbMTAwMF07Ci8vIAovLyBjbGFzcyBTb2x1dGlvbiB7Ci8vIHB1YmxpYzoKLy8gICBpbnQgZ2V0S3RoKGludCBsbywgaW50IGhpLCBpbnQgaykgewovLyAgICAgZHVtbXlfbWFpbigpOwovLyAgICAgc3ogPSAwOwovLyAgICAgcmVwKGksbG8saGkrMSkgYXJySW5zZXJ0KHN6LCBzeiwgdmFsLCBnZXRwdyhpKSwgaW5kLCBpKTsKLy8gICAgIHNvcnRBKHN6LHZhbCxpbmQpOwovLyAgICAgcmV0dXJuIGluZFtrLTFdOwovLyAgIH0KLy8gfTsK