AT_abc296_d [ABC296D] M<=ab
Description
[problemUrl]: https://atcoder.jp/contests/abc296/tasks/abc296_d
正整数 $ N,M $ が与えられます。
次の条件をともにみたす最小の正整数 $ X $ を求めてください。 ただし、そのようなものが存在しない場合は $ -1 $ を出力してください。
- $ X $ は $ 1 $ 以上 $ N $ 以下の整数 $ a,b $ の積として表される。ここで、$ a $ と $ b $ は同じ整数でも良い。
- $ X $ は $ M $ 以上である。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $
Output Format
問題文の条件をともにみたす最小の正整数 $ X $ を出力せよ。そのようなものが存在しない場合は $ -1 $ を出力せよ。
Explanation/Hint
### 制約
- $ 1\leq\ N\leq\ 10^{12} $
- $ 1\leq\ M\leq\ 10^{12} $
- $ N,M $ は整数
### Sample Explanation 1
まず、$ 7 $ を $ 1 $ 以上 $ 5 $ 以下の整数 $ 2 $ つの積として表すことはできません。 次に、$ 8 $ は $ 8=2\times\ 4 $ などとして、$ 1 $ 以上 $ 5 $ 以下の整数 $ 2 $ つの積として表すことができます。 よって、$ 8 $ を出力します。
### Sample Explanation 2
$ 1\times\ 1=1 $、$ 1\times\ 2=2 $、$ 2\times\ 1=2 $、$ 2\times\ 2=4 $ より、 $ 1 $ 以上 $ 2 $ 以下の整数 $ 2 $ つの積として表す事ができるのは $ 1,2,4 $ のみであるため、 $ 5 $ 以上の数はそのような整数 $ 2 $ つの積として表すことができません。 よって、$ -1 $ を出力します。
### Sample Explanation 3
$ a=b=100000 $ $ (=10^5) $とした時、$ a,b $ の積は $ 10000000000 $ $ (=10^{10}) $ となり、これが答えとなります。 答えが $ 32 $ bit 整数型に収まらない場合があることに注意してください。