#65. 书架排列

书架排列

问题描述

现在图书馆有 nn 本书,书籍初始时按 1n1 \sim n 的顺序进行排列。小红给出 mm 条指令,小蓝需要根据指令进行对应的操作,具体关系如下:

  • 1 p,将编号为 pp 的书本移动到第一位。
  • 2 p,将编号为 pp 的书本移动到最后一位。
  • 3 p q,将编号为 pp 的书本移动到编号为 qq 的书本后面。

现在问你,小蓝进行 mm 次操作后,书本的编号排列顺序为多少。

输入格式

第一行输入两个正整数 n,mn,m(1n,m105)(1\le n,m\le 10^5)

接下来 mm 行,每行首先输入一个数字 opop。表示对应的操作,根据 opop 的值来决定输入的数字以及操作。(op{1,2,3},1p,qn)(op \in \lbrace 1,2,3 \rbrace,1\le p,q\le n)

  • 1 p,将编号为 pp 的书本移动到第一位。
  • 2 p,将编号为 pp 的书本移动到最后一位。
  • 3 p q,将编号为 pp 的书本移动到编号为 qq 的书本后面。

注:题目不保证 op=3,pqop=3,p\ne q,因此 (op=3,p=q)(op=3,p=q) 时,你无需进行对应操作。

输出格式

输出 nn 个整数,为小蓝进行 mm 次操作后,书本的编号排列顺序。

样例输入 1

8 10
1 1
1 8
3 2 1
3 1 2
3 6 6
2 8 
2 1
3 7 2
3 6 1
2 8

样例输出 1

2 7 3 4 5 1 6 8 

样例输入 2

10 10
1 1
2 7
1 2
1 1
3 2 4
2 4
1 10
1 4
3 1 8
3 7 6

样例输出 2

4 10 3 2 5 6 7 8 1 9