#1127. 最大异或和

最大异或和

Description

给定一个非负整数序列a[i]{a[i]},初始长度为NN。有MM个操作,两种操作类型:

AxA x,表示添加操作,在序列末尾添加一个数xx,序列的长度为N+1N+1

QQ ll rr xx,表示询问操作,需要找到一个位置pp,满足lprl≤p≤r,使得a[p]a[p+1]a[N]xa[p]⊕a[p+1]⊕…⊕a[N]⊕x最大,输出最大是多少。

Format

Input

11行包含两个整数NMN,M3×105N、M(N,M≤3×10^5);第22行包含NN个非负整数,表示初始的序列a[i]0a[i]107a[i](0≤a[i]≤10^7);接下来的MM行,每行都描述一种操作。

Output

对每个询问操作,都单行输出答案。

Samples

5 5
2 6 4 3 6
A 1
Q 3 5 4
A 4
Q 5 7 0
Q 3 6 6
4
5
6

来源

P4735