最接近的整数

题目描述

Y 同学得到两个整数 p,qp,q,其中 q0q\ne0

现在需要找到一个整数 xx,使得 xxpq\dfrac{p}{q}

之间的距离尽可能小。

也就是说,需要使xpq\left|x-\dfrac{p}{q}\right|

取得最小值。

如果恰好有两个整数与 pq\dfrac{p}{q} 的距离相同,则选择其中较小的整数。

请你输出最终得到的整数 xx

输入格式

输入一行两个整数 p,qp,q

保证 q0q\ne0

输出格式

输出一行一个整数,表示距离 pq\dfrac{p}{q} 最近的整数。

若有两个整数距离相同,则输出其中较小的一个。

样例

样例输入 #1

9 4

样例输出 #1

2

样例输入 #2

-11 -4

样例输出 #2

3

样例输入 #3

10 4

样例输出 #3

2

样例输入 #4

-9 4

样例输出 #4

-2

样例输入 #5

11 -4

样例输出 #5

-3

样例输入 #6

-10 4

样例输出 #6

-3

数据范围与约定

对于 100100% 的数据,保证:

  • 109p109-10^9\le p\le10^9
  • 109q109-10^9\le q\le10^9
  • q0q\ne0
测试点编号 分值 具体限制 特殊性质
121\sim2 1010 p,q100\lvert p\rvert,\lvert q\rvert\le100 特殊性质 A
343\sim4 p,q104\lvert p\rvert,\lvert q\rvert\le10^4 特殊性质 B
565\sim6 p,q106\lvert p\rvert,\lvert q\rvert\le10^6 特殊性质 C
7107\sim10 2020
111411\sim14 p,q108\lvert p\rvert,\lvert q\rvert\le10^8
152015\sim20 3030 无额外限制
  • 特殊性质 A:保证 pp 能被 qq 整除。
  • 特殊性质 B:保证 p>0p>0q>0q>0
  • 特殊性质 C:保证 q=1q=1