#SDNU1702. 单链表

单链表

Description

实现一个单链表,链表初始为空,支持三种操作:

1.向链表头插入一个数
2.删除第k个插入的数后面的数
3.在第k个插入的数后插入一个数

现在要对该链表进行M次操作,进行完所有的操作后,从头到尾输出整个链表。

注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入的n个数,则按照插入的时间顺序,这n个数依次为,这n个数依次为:第1个插入的数,第2个插入的数,...第n个插入的数

Format

Input

第一行包含一个整数M,表示操作次数。 接下来M行,每行包含一个操作命令,操作命令可能为以下几种:

  1. HH xx ,表示向链表头插入一个数x
  2. DD kk , 表示删除第k个插入的数后面的数(当k为0时,表示删除头节点)
  3. II kk xx , 表示在第k个插入的数后面插入一个数x (此操作中k均大于0)

Output

共一行,将整个链表从头到尾输出。 1≤M≤100000

Samples

10
H 9
I 1 1
D 1
D 0
H 6
I 3 6
I 4 5
I 4 5
I 3 4
D 6
6 4 6 5

Hints

输出末尾没有空格捏