Codeforces Round 183 (Div. 1)
D
Rotatable Number
Codeforces
2600
原题
← CE →
翻译中…

Bike is a smart boy who loves math very much. He invented a number called "Rotatable Number" inspired by $142857$.

翻译中…

As you can see, $142857$ is a magic number because any of its rotatings can be got by multiplying that number by $1, 2, ..., 6$ (numbers from one to number's length). Rotating a number means putting its last several digit into first. For example, by rotating number $12345$ you can obtain any numbers: $12345, 51234, 45123, 34512, 23451$. It's worth mentioning that leading-zeroes are allowed. So both $4500123$ and $0123450$ can be obtained by rotating $0012345$. You can see why $142857$ satisfies the condition. All of the $6$ equations are under base $10$.

翻译中…
  • $142857·1 = 142857$;
  • $142857·2 = 285714$;
  • $142857·3 = 428571$;
  • $142857·4 = 571428$;
  • $142857·5 = 714285$;
  • $142857·6 = 857142$.
翻译中…

Now, Bike has a problem. He extends "Rotatable Number" under any base $*b*$. As is mentioned above, $142857$ is a "Rotatable Number" under base $10$. Another example is $0011$ under base 2. All of the $4$ equations are under base $2$.

翻译中…
  • $0011·1 = 0011$;
  • $0011·10 = 0110$;
  • $0011·11 = 1001$;
  • $0011·100 = 1100$.
翻译中…

So, he wants to find the largest $*b*$ $(1 < *b* < *x*)$ so that there is a positive "Rotatable Number" (leading-zeroes allowed) of length $*n*$ under base $*b*$.

翻译中…

Note that any time you multiply a rotatable number by numbers from 1 to its length you should get a rotating of that number.

翻译中…

Input

翻译中…

The only line contains two space-separated integers $*n*, *x*$ $(1 ≤ *n* ≤ 5·10^{6}, 2 ≤ *x* ≤ 10^{9})$.

翻译中…

Output

翻译中…

Print a single integer — the largest $*b*$ you found. If no such $*b*$ exists, print -1 instead.

翻译中…

样例

Input #1
6 11
Output #1
10
InputCopy OutputCopy
Input #2
5 8
Output #2
-1
InputCopy OutputCopy
题目信息
题号
303D
时间限制
2 s
内存限制
256 MB
标签
数学
数论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。