rendered paste body#include <iostream>
#include <vector>
using namespace std;
typedef unsigned long long ull ;
ull recurse(ull n)
{
if(n <= 2){return n;}
return 1 + recurse( (n%2) ? ((n<<2)-n+1) : (n>>1));
}
int main(int argc, char* argv[])
{
int i , j ;
vector <int> max_cycles;
int max_cycle_num=-1;
vector <int> is , js;
int n=0;
while (cin >> i >> j)
{
is.push_back(i);
js.push_back(j);
n++;
}
int used = 0;
for (int ctr = 0 ; ctr < n; ctr++)
{
int max_cyc = 0;
int start = is.at(ctr), end = js.at(ctr);
if(start > end)
{
int temp = start;
start = end;
end = temp ;
}
for (int j = start ; j <= end ; j++)
{
int cyc = recurse(j);
if(cyc > max_cyc)
{
max_cyc = cyc ;
max_cycle_num = j;
}
}
max_cycles.push_back(max_cyc);
}
for (i = 0 ; i < n ; i++)
{
cout << is.at(i) << " "<<js.at(i) << " " << max_cycles.at(i) << " " << endl;
}
return 0;
}