#5. 度度熊学队列

度度熊学队列

Description

度度熊正在学习双端队列,它对翻转和合并产生了很大的兴趣。

初始时有 NN 个空的双端队列(编号为 1N1~N ),度度熊的 QQ 次操作如下。

  • 11 uu ww valval:在编号为 uu 的队列中加入一个权值为 valval 的元素(w=0w=0 表示加在最前面,w=1w =1 表示加在最后面)。
  • 22 uu ww :询问编号为u 的队列中的某个元素并删除它(w=0w =0 表示询问并操作最前面的元素,w=1w =1 表示询问并操作最后面的元素)
  • 33 uu vv ww :把编号为 vv 的队列“接在”编号为 uu 的队列的最后面。w=0w =0 表示顺序接(将队列 vv 的开头和队列 uu 的结尾连在一起,将队列 vv 的结尾作为新队列的结尾),w=1w =1 表示逆序接(先将队列 vv 翻转,再按顺序接在队列 uu 的后面)。而且在该操作完成后,队列 vv 被清空。

Format

Input

有多组数据。

对于每一组数据,第 11 行都包含两个整数 NNQQ

接下来有 QQ 行,每行 34 3~4 个数,意义如上。

N1.5×105N ≤1.5×10^5Q4×105Q≤4×10^51u,vN1≤u ,v ≤N0w10≤w ≤11val1051≤val≤10^5

所有数据里 QQ 的和都不超过 5×1055×10^5

Output

对于每组数据的每一个操作 22,都输出一行表示答案。如果操作 22 的队列是空的,则输出 1−1 且不执行删除操作。

Samples

2 10
1 1 1 23
1 1 0 233
2 1 1
1 2 1 2333
1 2 1 23333
3 1 2 1
2 2 0
2 1 1
2 1 0
2 1 1
23
-1
2333
233
23333