ccj与zrz之积木问题

题目背景

ccj和zrz无聊到了玩起了搭积木...(本题选自uva101,翻译来自《算法竞赛入门经典2》)

题目描述

从左到右有 $n$ 个木块,编号从 $0$ 到 $n-1$,要求模拟以下 $4$ 种操作(下面的 $a$ 和 $b$ 都是木块编号,归位表示比如 $1$ 号木块归到 $1$ 号位去)。 - $\texttt{move }a\texttt{ onto }b$:把 $a$ 和 $b$ 上方的木块全部归位,然后把 $a$ 摞在 $b$ 上面; - $\texttt{move }a\texttt{ over }b$:把 $a$ 上方的全部归位,然后把 $a$ 放在 $b$ 所在木块堆的顶部; - $\texttt{pile }a\texttt{ onto }b$:把 $b$ 上方的木块全部归位,然后把 $a$ 及上面的木块整体摞在 $b$ 上面; - $\texttt{pile }a\texttt{ over }b$:把 $a$ 及上面的木块整体摞在 $b$ 所在木块堆的顶部; - 遇到 $\texttt{quit}$ 停止。$a$ 和 $b$ 在同一堆的指令时非法指令,应当忽略。 最后输出每个位置的木块列表,按照从底部到顶部的顺序排列。

输入输出格式

输入格式


第一行一个整数 $n$。 接下来若干行:每行一个指令(语法不会错),遇到 $\texttt{quit}$ 停止。

输出格式


输出共 $n$ 行,第 $i$ 行输出一个 $i$ 和冒号,然后一个空格,输出,它位置上的所有积木。

输入输出样例

输入样例 #1

10
move 9 onto 1
move 8 over 1
move 7 over 1
move 6 over 1
pile 8 over 6
pile 8 over 5
move 2 over 1
move 4 over 9
quit

输出样例 #1

0: 0
1: 1 9 2 4
2:
3: 3
4:
5: 5 8 7 6
6:
7:
8:
9:

说明

### 数据范围及约定 对于全部数据,$0<n<25$。