#include<iostream>
int p[1000001]={0};//存放每個n對於3n+1演算法的步驟數
using namespace std;
void _(long long int n)
{
long long int cnt=0,t;
while(n!=1)//3n+1演算法
{
if(n%2)
{
t=3*n+1;//n是奇數,n<-3n+1
while(t>1000000)
{
if(t%2)t=3*t+1;//n是奇數,n<-3n+1
else t/=2;//n是偶數,n<-n/2
cnt++;//步驟數+1
}
if(p[t]);//之前有算過(3n+1)的步驟數
else _(t);//之前沒算過,算算看
p[n]=p[t]+cnt+1;//存入結果
return;
}
else
{
t=n/2;//n是偶數,n<-n/2
while(t>1000000)
{
if(t%2)t=3*t+1;//n是奇數,n<-3n+1
else t/=2;//n是偶數,n<-n/2
cnt++;//步驟數+1
}
if(p[t]);//之前有算過(n/2)的步驟數
else _(t);//之前沒算過,算算看
p[n]=p[t]+1;//存入結果
return;
}
}
p[n]=1;
return;
}
int main()
{
int i,j,max;
for(int i=1;i<=1000000;i++)_(i);
while(cin>>i>>j)
{
max=0;
for(int k=((i>j)?j:i);k<=((i>j)?i:j);k++)
{
if(p[k]>max)max=p[k];
}
cout<<i<<" "<<j<<" "<<max<<endl;
}
}