带余除法

题目背景

**注意:提交至洛谷时,请使用标准输入输出,而非文件输入输出。** **NOTICE: When submitting your code on Luogu site, please use standard IO instead of file IO.** [点我(或在本题底部)下载中文试题 PDF。](https://www.luogu.com.cn/fe/api/problem/downloadAttachment/asjh3my3?contestId=200686) [Click here (or at the bottom of this page) to download the English version of statements (PDF).](https://www.luogu.com.cn/fe/api/problem/downloadAttachment/lkux3617?contestId=200686) **注意:本次比赛所有题目的大样例均为 Linux 换行符格式,在 Windows 系统内可能无法正常显示换行。**

题目描述

我们已经学过带余除法。对于两个正整数 $n,q$,如果 $n$ 除以 $q$ 的商为 $k$,余数为 $r$,我们可以写出带余除法算式 $n\div q = k \cdots\cdots r$,或被记为 $n\div q = k (\text{r. } r)$。本题中,为了简化,哪怕 $r=0$,我们也要写出这个余数。 现在有一个带余除法,然而你只知道被除数 $n​$ 和商 $k​$,而并不知道除数 $q​$ 和余数 $r​$。你想知道余数有多少种可能。

输入输出格式

输入格式


**本题有多组测试数据**。输入的第一行有一个正整数 $T$,表示数据组数。 之后 $T$ 行,每行有一个正整数 $n$ 和自然数 $k$,分别表示带余除法的被除数和商。

输出格式


对于每组测试数据,输出一行一个自然数,表示余数的不同可能性数量。

输入输出样例

输入样例 #1

2
10 2
1 0

输出样例 #1

2
1

输入样例 #2

参见 division/division2.in

输出样例 #2

参见 division/division2.ans

说明

【样例 1 解释】 对于第一组数据,被除数为 $10$,商为 $2$。 - 如果除数是 $1,2,3$,那么商分别是 $k=10,5,3$,不符合题意。 - 如果除数是 $4$,那么商为 $2$,余数为 $r=2$。 - 如果除数是 $5$,那么商为 $2$,余数为 $r=0$。 - 如果除数是 $6,7,8,9,10$,那么商都是 $1$,不符合题意。 - 如果除数 $>10$,那么商为 $0$,不符合题意。 对于第二组数据,被除数为 $1$,商为 $0$。 只要除数 $q>1$,那么 $1\div q = 0 \cdots\cdots 1$ 一定是正确的带余除法算式。余数只有 $1$ 这一种可能。 【数据范围】 对于前 $30\%$ 的数据,保证 $1\le n\le 1000$,$0\le k\le 1000$。 另有 $20\%$ 的数据,保证 $k\le 10^5$。 另有 $20\%$ 的数据,保证 $k\ge 10^9$。 对于全体数据,保证 $1\le T\le 10$,$1\le n\le 10^{14}$,$0\le k\le 10^{14}$。