#338. 最长数链

最长数链

在数学上有个这样的猜想:任何一个大于11正整数NN,经过下面的变换最终都能变为11,变换规则是:

  • 如果NN是奇数,将它乘以33再加11,即NN变为3×N+13 \times N + 1
  • 如果NN是偶数,将它除以22,即NN变为N2\lfloor \frac {N}{2}\rfloor(下取整);
  • 继续这样变换,直到变为11为止。

如:N=22N=22,则变换过程如下:22 11 34 17  52  26  13  40  20  10  5  16  8  4  2  1

对于给定的NN,我们把显示出来的数的个数称为N的链长,例如2222的链长为1616

现在你的任务是编写一个程序,对于任意给定的一对正整数kkjj,给出kjk、j之间的最长链长,当然这个最长链长是由kjk、j之间的其中一个正整数产生的。这里的kjk、j之间即包括kk也包括jj

输入格式

有二行,第一行是正整数kk,第二行是正整数jj0<k,j2500 \lt k, \leq j \leq 250)。

输出格式

只有一个数,就是kjk、j之间的最长链长。

样例

样例输入

1
10

样例输出

20

数据范围与提示

  • 时间限制:1000ms1000\mathrm{ms}
  • 空间限制:64000KB64000\mathrm{KB}