#ABC296D. M≤ab

M≤ab

M≤ab

题目描述

给定正整数 NN 和 MM。

求满足以下两个条件的最小正整数 XX;如果不存在这样的整数,输出 −1-1。

  • XX 可以表示为两个介于 11 和 NN 之间(含两端)的整数 aa 和 bb 的乘积。这里,aa 和 bb 可以相同。
  • XX 至少为 MM。

输入格式

输入按以下格式从标准输入给出:

NN MM

输出格式

输出满足上述条件的最小正整数 XX;如果不存在这样的整数,输出 −1-1。

样例

5 7
8

首先,77 不能表示为两个介于 11 和 55 之间的整数的乘积。

其次,88 可以表示为两个介于 11 和 55 之间的整数的乘积,例如 8=2×48=2\times 4。

因此,应输出 88。

2 5
-1

由于 1×1=11\times 1=1,1×2=21\times 2=2,2×1=22\times 1=2,2×2=42\times 2=4,因此只有 11、22、44 可以表示为两个介于 11 和 22 之间的整数的乘积,

所以不存在大于等于 55 的数可以表示为两个这样的整数的乘积。

因此,应输出 −1-1。

100000 10000000000
10000000000

当 a=b=100000a=b=100000 (=105)(=10^5) 时,aa 和 bb 的乘积为 1000000000010000000000 (=1010)(=10^{10}),这就是答案。

注意答案可能超出 3232 位整数类型的范围。

数据范围

  • 1≤N≤10121 \le N \le 10^{12}
  • 1≤M≤10121 \le M \le 10^{12}
  • NN 和 MM 是整数。
难度 普及+/提高-
通过率 —
尝试 0
通过 0
ID
2658
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签