#HD202503C. 光线折射
光线折射
Arcaea的世界是一个二维平面,平面内的每个格点 都有一片大小和厚度可忽略不计的“残片”(玻璃),每片玻璃完全一致且都与直线 垂直。
同时,每片玻璃还有相同的两个系数:折射系数 和反射系数 ()。
当一束强度为 的光束沿 轴正方向射向任意一片玻璃时,该玻璃将沿 轴正方向射出强度为 的折射光束,并沿 轴正方向射出强度为 的反射光束;
对称地,当一束强度为 的光束沿 轴正方向射向任意一片玻璃时,该玻璃将沿 轴正方向射出强度为 的折射光束,并沿 轴正方向射出强度为 的反射光束。
现 Hikari 在位置 向 轴的正方向发射了强度为 1 的光束(“Fracture Ray”),并想要使其打中在位置 的 Tairitsu;她想知道最终照射在 Tairitsu 上的光束总强度。
输入格式
第一行含一个正整数 ,表示数据组数;接下来对于每组数据:
共一行,含 4 个整数 :
- 和 的含义见上,用来确定 Tairitsu 的坐标,保证 ;
- 而对于 和 ,我们约定题意中的 ,且保证 ;
,是一个质数。
保证对于每个数据点有 。
输出格式
对于每组数据:
可以证明,需要输出的答案“最终照射在 Tairitsu 上的光束总强度”可表示为一对互质数:非负数 和正数 的比值 ,且 不是 的倍数。
你需要将 对 取模后再输出;换而言之,找到必然存在的 关于 的逆元 (解释见提示)后,输出
输出仅一行,含一个整数代表答案;之后换行恰好一次。
样例
输入
10
0 0 2 1
0 1 2 1
0 2 2 1
1 0 2 1
1 1 2 1
1 2 2 1
2 0 2 1
2 1 2 1
2 2 2 1
992993 994995 11009 999988997
输出
666666672
111111112
740740746
444444448
481481485
111111112
962962970
481481485
234567903
939614532
提示
样例中的前 9 个答案的真实值依次为 $\frac{2}{3},\frac{1}{9},\frac{2}{27},\frac{4}{9},\frac{4}{27},\frac{1}{9},\frac{8}{27},\frac{4}{27},\frac{10}{81}$。