函数

题目描述

小奔有一个二元函数 $f(a,b)$。 如果 $a<2$ 或 $b<2$ 返回 $a+b$。 其他情况则返回以下四个式子的最大值(除号均为整除): $$a+b$$ $$g(a/2)+g(a/3)+g(a/8)+g(a/9)+b$$ $$g(b/2)+g(b/3)+g(b/8)+g(b/9)+a$$ $$g(b/2)+g(b/3)+g(b/8)+g(b/9)+g(a/2)+g(a/3)+g(a/8)+g(a/9)$$ 其中,$g(n)$ 返回 $\max(g(n/2)+g(n/3)+g(n/8)+g(n/9),n)$,当 $n=0$ 时返回 $0$。 当然,白痴都想得到可以记忆化求出较小的 $f(a,b)$,所以小奔才不会考你那么简单的题呢。 他想问你当 $a,b$ 都小于 $10^{16}$ 时,$f(a,b)$ 的值。

输入输出格式

输入格式


包含多组数据。 每组数据,包含一行,两个正整数 $a,b$。

输出格式


每组数据输出一行,即 $f(a,b)$ 的值。

输入输出样例

输入样例 #1

5 6
1 1
1 223

输出样例 #1

11
2
224

说明

对于 $40\%$ 的数据,$a,b<10^7$。 对于 $70\%$ 的数据,时间限制 $2$ 秒。 对于 $100\%$ 的数据,$a,b<10^{16}$。数据组数不超过 $10^4$ 组。