/*
#include <stdio.h>
void rec(int n) {
printf("%d\n", n);
if(n==1) {
return;
}
if(n%2==0) {
n=n/2;
}
else {
n=n*3+1;
}
rec(n);
}
int main() {
int n;
scanf("%d", &n);
rec(n);
}
*/
/*
#include <stdio.h>
void rec(int n) {
if(n>1) {
rec(n/2);
}
printf("%d", n%2);
}
int main() {
int n;
scanf("%d", &n);
rec(n);
}
*/
/*
#include <stdio.h>
int a[51][51]={0};
int rec(int x, int y) {
if(a[x][y]!=0) {
return a[x][y];
}
if(x==1||y==1) {
return a[x][y]=1;
}
return a[x][y] = (rec(x-1,y)+rec(x,y-1))%100000000;
}
int main() {
int x,y;
scanf("%d %d", &x, &y);
printf("%d", rec(x,y));
}
*/
#include <stdio.h>
int a[100000001]={0};
int t=0;
int rec(int n) {
t++;
if(n==1) {
return t;
n*2=t+1
}
else if(n%2==0) {
n=n/2;
}
else {
n=n*3+1;
}
rec(n);
}
int main() {
int s,e,i,j;
int max=0;
int max1=0;
scanf("%d %d", &s, &e);
for(i=s; i<=e; i++) {
for(j=0; j<=b-a; j++) {
a[i] = rec(i);
a[i*2] = rec(i) + 1;
a[i*4] = rec(i) + 2;
}
t=0;
}
for(i=s; i<=e; i++) {
if(i==s) {
max = s;
max1 = a[i];
}
if(max1<a[i]) {
max1 = a[i];
max = i;
}
}
printf("%d %d", max, max1);
}



