1827 - Argestes 和序列
描述

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;

题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 26
通过次数 5