#include <stdio.h>
int cycle_length(int n);
int max_cycle_length (int low, int high);
int CYCLE_LENGTHS[1000001];
int main(int argc, char *argv[]) {
int low, high, max_length;
while (scanf("%d %d", &low
, &high
) != EOF
) { int max_length = max_cycle_length(low, high);
printf("%d %d %d\n", low
, high
, max_length
); }
}
int cycle_length (int n) {
if (CYCLE_LENGTHS[n] != 0) {
return CYCLE_LENGTHS[n];
}
long long nL = n;
int cycles = 1;
while (nL != 1) {
if ((nL % 2) == 0) nL = nL/2;
else nL = (3*nL)+1;
++cycles;
}
CYCLE_LENGTHS[n] = cycles;
return cycles;
}
int max_cycle_length (int low, int high) {
int max_length = 0;
int i;
for (i = low; i <= high; ++i) {
int current = cycle_length(i);
if (current > max_length) max_length = current;
}
return max_length;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgY3ljbGVfbGVuZ3RoKGludCBuKTsKaW50IG1heF9jeWNsZV9sZW5ndGggKGludCBsb3csIGludCBoaWdoKTsKCmludCBDWUNMRV9MRU5HVEhTWzEwMDAwMDFdOwoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewogICAgaW50IGxvdywgaGlnaCwgbWF4X2xlbmd0aDsKCgl3aGlsZSAoc2NhbmYoIiVkICVkIiwgJmxvdywgJmhpZ2gpICE9IEVPRikgewoJCWludCBtYXhfbGVuZ3RoID0gbWF4X2N5Y2xlX2xlbmd0aChsb3csIGhpZ2gpOwoJCXByaW50ZigiJWQgJWQgJWRcbiIsIGxvdywgaGlnaCwgbWF4X2xlbmd0aCk7Cgl9Cn0KCmludCBjeWNsZV9sZW5ndGggKGludCBuKSB7CglpZiAoQ1lDTEVfTEVOR1RIU1tuXSAhPSAwKSB7CgkJcmV0dXJuIENZQ0xFX0xFTkdUSFNbbl07Cgl9CgoJbG9uZyBsb25nIG5MID0gbjsKCWludCBjeWNsZXMgPSAxOwoKCXdoaWxlIChuTCAhPSAxKSB7CgkJaWYgKChuTCAlIDIpID09IDApIG5MID0gbkwvMjsKCQllbHNlIG5MID0gKDMqbkwpKzE7CgkJKytjeWNsZXM7Cgl9CgoJQ1lDTEVfTEVOR1RIU1tuXSA9IGN5Y2xlczsKCXJldHVybiBjeWNsZXM7Cn0KCmludCBtYXhfY3ljbGVfbGVuZ3RoIChpbnQgbG93LCBpbnQgaGlnaCkgewoJaW50IG1heF9sZW5ndGggPSAwOwoKCWludCBpOwoJZm9yIChpID0gbG93OyBpIDw9IGhpZ2g7ICsraSkgewoJCWludCBjdXJyZW50ID0gY3ljbGVfbGVuZ3RoKGkpOwoJCWlmIChjdXJyZW50ID4gbWF4X2xlbmd0aCkgbWF4X2xlbmd0aCA9IGN1cnJlbnQ7Cgl9CgoJcmV0dXJuIG1heF9sZW5ndGg7Cn0=