#55. 动态树xor和

动态树xor和

Description

给定nn 个节点及每个节点的权值,节点编号为11nn ,处理mm 种操作。

操作格式: ①00 xx yy ,查询xxyy 路径上点的权值的xxoorr和,保证xxyy 是连通的;

11 xx yy ,连接xxyy ,若xxyy 已经连通,则无须连接;

22 xx yy ,删除边((xx , yy )),不保证边((xx, yy ))存在;

33 xx yy ,将节点xx 的权值变成yy

Format

Input

11行包含两个整数nnmm ,表示节点数和操作数,11nn10510^511mm 33×10510^5

接下来的nn 行,每行都包含一个[11, 10910^9 ]的整数,代表节点的权值;最后的mm 行,每行都包含33个整数,表示一种操作。

Output

对每个查询操作,都单行输出一个整数,表示xxyy 路径。

Samples

3 3
1
2
3
1 1 2
0 1 2
0 1 1
3
1