#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int getNextTerm(int n)
{
if(n%2 == 0) return n/2;
else return 3*n+1;
}
int getLength(int n)
{
static vector<int>cache(1000001, 0); cache[1] = 1;
if(n >= 1000000) return getLength(getNextTerm(n))+1;
if(cache[n] == 0) cache[n] = getLength(getNextTerm(n))+1;
return cache[n];
}
int main()
{
int i, j; while(cin >> i >> j) {
int currMax = 0;
for(int n = min(i, j); n <= max(i, j); n++)
currMax = max(currMax, getLength(n));
cout << i << ' ' << j << ' ' << currMax << '\n';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGdldE5leHRUZXJtKGludCBuKQp7CglpZihuJTIgPT0gMCkgcmV0dXJuIG4vMjsKCWVsc2UgcmV0dXJuIDMqbisxOwp9CgppbnQgZ2V0TGVuZ3RoKGludCBuKQp7CglzdGF0aWMgdmVjdG9yPGludD5jYWNoZSgxMDAwMDAxLCAwKTsgY2FjaGVbMV0gPSAxOwoJCglpZihuID49IDEwMDAwMDApIHJldHVybiBnZXRMZW5ndGgoZ2V0TmV4dFRlcm0obikpKzE7CgkKCWlmKGNhY2hlW25dID09IDApIGNhY2hlW25dID0gZ2V0TGVuZ3RoKGdldE5leHRUZXJtKG4pKSsxOwoJcmV0dXJuIGNhY2hlW25dOwp9CgppbnQgbWFpbigpCnsKCWludCBpLCBqOyB3aGlsZShjaW4gPj4gaSA+PiBqKSB7CgkJaW50IGN1cnJNYXggPSAwOwoJCWZvcihpbnQgbiA9IG1pbihpLCBqKTsgbiA8PSBtYXgoaSwgaik7IG4rKykKCQkJY3Vyck1heCA9IG1heChjdXJyTWF4LCBnZXRMZW5ndGgobikpOwoJCWNvdXQgPDwgaSA8PCAnICcgPDwgaiA8PCAnICcgPDwgY3Vyck1heCA8PCAnXG4nOwoJfQoJcmV0dXJuIDA7Cn0=