设不小于 l 的第一个满足同余的数为 f。可用如下任一等价形式求 f:
若 f>r,答案为 0,否则
ans = ⌊kr−f⌋ + 1
游游有四个整数 l,r,k,x,求区间 [l,r] 中有多少个整数 i 满足:i(mod k)=x 。
每个测试文件均包含多组测试数据。
第一行输入一个整数 T(1≤T≤104) 代表数据组数,每组测试数据描述如下:
在一行上输入四个整数 l,r,k,x(1≤l≤r≤109;1≤k≤109;0≤x≤k−1),表示查询的区间、模数、余数。
对于每一组测试数据,新起一行给出一个整数,表示符合条件的数字个数。
输入
3
1 5 2 1
10 20 3 2
1 114514 2 0
输出
3
4
57257