Argestes 有很多爱好,特别喜欢解决查询问题。有一天,阿杰斯特斯想出了这样一个问题。你得到一个由N个非负整数组成的序列a,a[1],a[2],...,a[n]。然后序列上有 M 操作。操作可以是以下操作之一:
S X Y:您应该将 a[x] 的值设置为 y(换句话说,执行赋值 a[x]=y)。
Q L R D P:其中[L,R],L和R是序列的索引,数字的第D位是P.
注:数字的第1位是最低有效位。
在第一行中有一个整数 T ,表示测试用例的数量。
对于每种情况,第一行包含两个数字 N 和 M。第二行包含 N 个整数,用空格分隔:a[1],a[2],...,a[n]— 数组元素的初始值。
接下来的每一行 M 行都以字符类型开头。
如果是S,后面是两个数字: X,Y。
如果 是Q,则该行中将多出四个整数: L R D P.
对于每个操作 Q,输出一行包含答案。
1 5 7 10 11 12 13 14 Q 1 5 2 1 Q 1 5 1 0 Q 1 5 1 1 Q 1 5 3 0 Q 1 5 3 1 S 1 100 Q 1 5 3 1
5 1 1 5 0 1
1<=T<=50,1<=N,M<=100000,x<=N,a_i,y是int范围的数字;
1<=L<=R<=N;