#2183. 巧克力

巧克力

题目描述

翁老师买了 qq 块长为 pp 个单位,宽为 11 个单位的巧克力条。

这一天,翁老师将它们拼成了一整块大小为 p×qp\times q 的长方形巧克力,然后就出门了。聪聪老师醒来后发现了这块巨型巧克力,他决定从上面切一部分吃掉。

但这都在翁老师的预料之中----聪聪老师发现翁老师留下了一张字条:

  • 你只可以从 其中一条 巧克力上切下长为正整数的一部分吃掉,但不能吃掉一整条。
  • 我希望你吃掉的巧克力大小与剩下的巧克力大小的最大公因数尽可能大。
  • 满足上一条的前提下,你应该给我留下尽可能多的巧克力。

聪聪老师非常火大,但他确实不擅长数学。请你帮助聪聪老师计算他能吃掉多少单位的巧克力。

什么是最大公因数?

  • 两个整数 a,ba,b 的公因数指的是 a,ba,b 都有的公共因子。在公共因子中,最大的那个称为最大公因数。例如 121288 的公因子有 1,2,41,2,4。而 33 不是公因子,因为 331212 的因子,但不是 88 的因子。最大的公因子显然是 44。因此 121288 的最大公因子是 44。数学上常用 gcd\gcd 代表最大公因数。记作 gcd(12,8)=4\gcd(12,8)=4

输入格式

输入有多组数据。

第一行输入一个整数 tt 代表有 tt 组数据。

对于每组数据,有一行两个空格分隔的正整数 p,qp,q

输出格式

对于每组数据,输出一行一个正整数代表答案。

3
2 4
3 5
6 7
1
1
3

样例 1 解释

对于第一组数据:p=2p=2,吃巧克力的量必须是正整数,而且不能吃掉一整条,所以聪聪老师只能吃掉 11 单位巧克力。

对于第二组数据:p=3p=3,聪聪老师可以选择吃掉 11 或者 22 单位的巧克力。

  • 如果吃掉 11 单位,则剩余 3×51=143\times 5-1=14 单位,111414 的最大公因数为 11
  • 如果吃掉 22 单位,则剩余 3×52=133\times 5-2=13 单位, 221313 的最大公因数为 11

两种方案的最大公因数相同时,要使剩余的巧克力尽量多,所以聪聪老师选择吃掉 11 单位巧克力。

对于第三组数据:p=6p=6,聪聪老师可以选择吃掉 1,2,3,41,2,3,4 或者 55 单位的巧克力。

  • 如果吃掉 11 单位,则剩余 4141 单位,114141 的最大公因数为 11
  • 如果吃掉 22 单位,则剩余 4040 单位,224040 的最大公因数为 22
  • 如果吃掉 33 单位,则剩余 3939 单位,333939 的最大公因数为 33
  • 如果吃掉 44 单位,则剩余 3838 单位,443838 的最大公因数为 22
  • 如果吃掉 55 单位,则剩余 3737 单位,553737 的最大公因数为 11

吃掉 33 单位的方案中,吃掉的量与剩余的量的最大公因数最大,于是聪聪老师选择吃掉 33 单位巧克力。

样例 2

点我下载大样例

数据范围

对于所有数据保证 1t501\leq t\leq 502p1062\leq p\leq 10^61q10121\leq q\leq 10^{12}

测试点编号 pp \leq qq\leq 特殊性质
11 100100 保证 pp 为质数
22
33 10001000 保证 pp 为质数
44
55 10510^5 10910^9 保证 pp 为质数
66
77 10610^6 101210^{12} 保证 pp 为质数
88
99 保证 pp 为质数
1010