为了消遣时光,Serein去找了道数学智力题来做,题目如下:
把 1988 表示成 28 个连续偶数的和,那么其中最大的那个偶数是多少?
这对于数学王子Serein来说太简单了,经过演算,他得到答案为 98 。
Serein不满足于解决某一特定的问题,于是他将问题推广,得到了一个新的问题:
对于给定的正整数 s , s 是否能被表示为 n 个连续正偶数的和?
他认为这个问题还是太简单了,于是将这个问题留给了你。
对于给定的正整数 s ,如果它能被表示为 n 个连续正偶数的和,则输出其中最大的一个正偶数。
若不能,则输出 -1
。
输入
输入两个整数 s 和 n 。(1\leq n \leq s \leq 1 \times 10^{12})
输出
如果 s 能由 n 个连续正偶数和表示,输出其中最大的偶数,否则输出 -1
。
样例
标准输入 复制文本 |
1988 28 |
标准输出 复制文本 |
98 |
标准输入 复制文本 |
1987 28 |
标准输出 复制文本 |
-1 |
提示
对 C/C++ 选手请注意,int 的最大值约为 2 \times10^9 ,请使用合理的数据类型