#P5352. Terrible Homework

Terrible Homework

题目背景

“像糟糕的作业一样糟糕。”

题目描述

benben同学最讨厌做作业了。

现在,老师布置给了benben同学nn份作业,每份作业有一个难度值AiA_i

一开始,每份作业都是独立的。有一些操作,每次在两份作业x,yx,y间加一条边或删除一条边。

由于老师喜怒无常,因此还有一些操作,是将两份作业x,yx,y之间路径上的所有作业的难度值都xorxor上一个值。

同时,为了满足benben同学的好奇心,你需要回答两份作业x,yx,y之间的所有作业的难度andand和、难度oror和、难度xorxor和以及难度和。

输入格式

第一行两个正整数n,qn,q,分别表示作业份数和操作个数。

接下来一行,nn个自然数A1,...,AnA_1,...,A_n,表示每份作业的难度值。

接下来qq行,每行一个操作:

  • L x yL\ x\ y:在x,yx,y两份作业之间连一条边。(保证不会形成环,即任何时候这张图都是一个森林)
  • C x yC\ x\ y:删除x,yx,y两份作业之间的边。(保证这条边存在且不会被删除多次)
  • U x y vU\ x\ y\ v:将x,yx,y两份作业之间路径上的所有作业的难度值都xorxorvv。(包括这两份作业,且保证联通,下同)
  • A x yA\ x\ y:询问x,yx,y两份作业之间的所有作业的难度andand和。
  • O x yO\ x\ y:询问x,yx,y两份作业之间的所有作业的难度oror和。
  • X x yX\ x\ y:询问x,yx,y两份作业之间的所有作业的难度xorxor和。
  • S x yS\ x\ y:询问x,yx,y两份作业之间的所有作业的难度和。

输出格式

对于每一个A,O,X,SA,O,X,S操作,输出答案。

4 10
1 2 3 4
L 1 2
L 2 3
L 2 4
A 1 4
U 3 4 2
O 1 4
C 2 4
L 3 4
X 1 4
S 1 3
0
7
6
2

提示

对于10%10\%的数据,n=100,m=100n=100,m=100

另有10%10\%的数据,n=5000,m=5000n=5000,m=5000

另有20%20\%的数据,n=10000,m=10000n=10000,m=10000

对于100%100\%的数据,2n,m100000,0Ai<2302\le n,m\le100000,0\le A_i<2^{30}