#MA0101. 取余

取余

题目描述

给你两种操作 opop 以及三个数 abcabc

  • op=1op=1aabb 之间所有数的和除以 cc 的余数。
  • op=2op=2aabb 之间所有数的积除以 cc 的余数。

输入格式

第一行一个整数 nn,代表测试数据的组数(不超过 100100)。 接下来 nn 行,每行 44 个正整数 op,a,b,cop,a,b,c

1ab1061 \leq a \leq b \leq 10^6

1c1091 \leq c \leq 10^9

输出格式

对每组输入,输出其运算结果。

3
1 3562 102208 485597135
2 531591 586771 592771607
2 1 30 1000000007
360975245
0
109361473

样例解释

$3562+3563+\dots +102208=5220008095,5220008095\%485597135=360975245$

第三个式子连乘结果为88417619937397019545436160000008841761993739701954543616000000