Tongshen给你两个数组A和B,他们都有n个元素,现在有以下三种操作:
1) 1 l r : 这表示你需要让(l <= i <= r)中的所有A[i]变成(A[i] + B[i]);
2) 2 l r : 这表示你需要让(l <= i <= r)中的所有B[i]变成(A[i] + B[i]);
3) 3 l r : 这表示希望你求出(l <= i <=r)中的所有(A[i] * B[i])的和,并输出其对10003取余的结果.
第一行一个整数 t,表示测试用例数量
第一行一个整数 n,表示数组大小
第二行 n 个整数,表示数组 A
第三行 n 个整数,表示数组 B
第四行一个整数 m,表示操作数量
接下来 m 行,每行三个整数 op l r,表示操作类型和操作区间
1 ≤ t ≤ 10
1 ≤ n ≤ 100000
1 ≤ A[i], B[i] ≤ 100
1 ≤ m ≤ 100000
1 ≤ op ≤ 3
1 ≤ l ≤ r ≤ n
每组测试用例包含:
数据范围
对于每个类型 3 的操作,输出一行表示查询结果
1 ≤ t ≤ 10
1 ≤ n ≤ 100000
1 ≤ A[i], B[i] ≤ 100
1 ≤ m ≤ 100000
1 ≤ op ≤ 3
1 ≤ l ≤ r ≤ n