atcoder#ABC296D. [ABC296D] M<=ab

[ABC296D] M<=ab

题目描述

正整数 N,M N,M が与えられます。
次の条件をともにみたす最小の正整数 X X を求めてください。 ただし、そのようなものが存在しない場合は 1 -1 を出力してください。

  • X X 1 1 以上 N N 以下の整数 a,b a,b の積として表される。ここで、a a b b は同じ整数でも良い。
  • X X M M 以上である。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M

输出格式

問題文の条件をともにみたす最小の正整数 X X を出力せよ。そのようなものが存在しない場合は 1 -1 を出力せよ。

题目大意

给定正整数 NN, MM

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

  • XX 可以表示为两个正整数 a,ba,b (a,b[1,N])(a,b\in[1,N]) 的积。注意 aa 可以等于 bb
  • XMX \ge M
5 7
8
2 5
-1
100000 10000000000
10000000000

提示

制約

  • 1 N 1012 1\leq\ N\leq\ 10^{12}
  • 1 M 1012 1\leq\ M\leq\ 10^{12}
  • N,M N,M は整数

Sample Explanation 1

まず、7 7 1 1 以上 5 5 以下の整数 2 2 つの積として表すことはできません。 次に、8 8 8=2× 4 8=2\times\ 4 などとして、1 1 以上 5 5 以下の整数 2 2 つの積として表すことができます。 よって、8 8 を出力します。

Sample Explanation 2

1× 1=1 1\times\ 1=1 1× 2=2 1\times\ 2=2 2× 1=2 2\times\ 1=2 2× 2=4 2\times\ 2=4 より、 1 1 以上 2 2 以下の整数 2 2 つの積として表す事ができるのは 1,2,4 1,2,4 のみであるため、 5 5 以上の数はそのような整数 2 2 つの積として表すことができません。 よって、1 -1 を出力します。

Sample Explanation 3

a=b=100000 a=b=100000 (=105) (=10^5) とした時、a,b a,b の積は 10000000000 10000000000 (=1010) (=10^{10}) となり、これが答えとなります。 答えが 32 32 bit 整数型に収まらない場合があることに注意してください。