在本题中,你需要找到在特定顺序下的下一个整数,该整数与给定整数具有相同的质因数集合。
考古学家 Kris 正在研究最近在 Adobe 溪流附近发现的古老平台 Flex。在这个平台上,曾经刻有由“先贤”(The Elders)创造的不同版本传送器的编号。每个版本号都是 $1$ 到 $N$ 之间的整数。在平台上,有几列数字,每列对应一个传送器。每列曾经按建造顺序记录了该传送器所有已创造的版本。不幸的是,其中一些数字被擦除了。
Kris 刚刚结束对传送器 $b$ 的版本 $a$ 的研究,他现在准备检查该传送器的下一个版本。但他甚至不知道它的编号!另一方面,任何作为本题正确解法的程序都必须知道它。以下是 Kris 已经了解的关于传送器版本号的信息:
- $1$ 到 $N$ 之间的每个数字都是某个传送器的某个版本的编号。
- 同一传送器的不同版本具有不同的编号。
- 每个传送器都有其专属的质数集合。稍后,我们考虑一个固定的传送器。设其质数集合为 $X = \{p_1, p_2, \dots, p_m\}$(我们对其进行排序,使得 $p_1 < p_2 < \dots < p_m$)。
- 已知该传送器的任何版本号都能被 $X$ 中的每个质数整除,且不能被不在 $X$ 中的质数整除。这意味着该数字可以写成 $p_1^{k_1} p_2^{k_2} \dots p_m^{k_m}$ 的形式,其中 $k_i \ge 1$。因此,该传送器的每个版本都可以映射到一个由 $m$ 个正整数组成的元组 $(k_1, k_2, \dots, k_m)$。
- 版本 $\alpha = (k_1, k_2, \dots, k_m)$ 在版本 $\beta = (l_1, l_2, \dots, l_m)$ 之前建造,当且仅当存在一个 $i$($0 \le i < m$)满足 $k_1 = l_1, k_2 = l_2, \dots, k_i = l_i$,但 $k_{i+1} < l_{i+1}$。可以说,这些版本是按照其元组的字典序进行排序的。
输入格式
输入的唯一一行包含两个整数——传送器的版本号 $a$ 和数量 $N$($1 \le a \le N \le 10^{18}$)。
输出格式
如果存在同一个传送器的另一个版本,且它是在版本 $a$ 之后紧接着建造的,则输出其编号。否则,输出 “-1”。
样例
输入样例 1
6 13
输出样例 1
12
输入样例 2
12 13
输出样例 2
-1