函数
题目描述
小奔有一个二元函数 $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$ 组。