時間制限 : sec, メモリ制限 : KB
English / Japanese  

List

整数を保持するリスト$L$に対して、以下の操作を行ってください。$L$にはその末尾を表すEND要素が常に存在し、各要素はカーソルによって指定され操作されます。

  • insert($x$): カーソルが指す要素の直前に整数$x$を挿入する。操作の後、カーソルは挿入された要素を指すようになる。
  • move($d$): 整数$d$が正の場合、カーソルを後方に$d$だけ移動する。負の場合は前方に$d$だけ移動する。
  • erase(): カーソルが指す要素を削除する。操作の後、カーソルは削除された要素の1つ後方の要素を指すようになる。ただし、そのような要素がない場合はENDを指すようになる。

初期状態で$L$は空であり、カーソルはENDを指しているものとします。

Input

入力は以下の形式で与えられます。

$q$
$query_1$
$query_2$
:
$query_q$

各クエリ$query_i$は

0 $x$

または

1 $d$

または

2

の形式で与えられます。最初の数字0, 1, 2 は操作の種類を示し、それぞれinsert、move、eraseを表します。

Output

すべての操作が終了した後の、リストの要素を先頭から順番に列挙してください。1つの要素を1行に出力してください。

Constraints

  • $1 \leq q \leq 500,000$
  • $d$ はカーソルがリスト内の要素またはENDを指すように与えられる
  • カーソルがENDを指す状態でerase操作が与えられることはない
  • $-1,000,000,000 \leq x \leq 1,000,000,000$
  • カーソルの移動距離($|d|$の総和)は1,000,000を超えない
  • すべての操作が終了した後のリストは空でない

Sample Input 1

5
0 1
0 2
0 3
1 1
2

Sample Output 1

3
1