给定长度为 $N$ 的正整数列 $A=(A_1, A_2, \ldots, A_N)$ 和长度为 $M$ 的正整数列 $B=(B_1, B_2, \ldots, B_M)$。这两个数列都是广义单调递增数列。也就是说,满足 $A_1 \le A_2 \le \cdots \le A_N$ 以及 $B_1 \le B_2 \le \cdots \le B_M$。
使用以下算法,由这两个数列生成长度为 $N+M$ 的正整数列 $C=(C_1, C_2, \ldots, C_{N+M})$:
- 初始时令 $C$ 为空。
- 若 $A$ 和 $B$ 均为空,则结束。
- 若 $A$ 和 $B$ 中有一个为空,则令不为空的数列为 $t$。若两者均不为空,则令开头元素较小的数列为 $t$。但是,当 $A$ 和 $B$ 的开头元素值相同时,令 $A$ 为 $t$。
- 将 $t$ 的开头元素追加到 $C$ 的末尾。
- 删除 $t$ 的开头元素。
- 返回第 2 步。
给定广义单调递增的正整数列 $A$ 和 $B$,请编写一个程序,输出由该算法生成的正整数列 $C$。
输入格式
输入从标准输入按以下格式给出:
$$ \begin{aligned} &N \ M \\ &A_1 \ A_2 \ \cdots \ A_N \\ &B_1 \ B_2 \ \cdots \ B_M \end{aligned} $$
输出格式
向标准输出输出 $N + M$ 行。 在第 $k$ 行($1 \le k \le N + M$)输出 $C_k$。
数据范围
- $1 \le N \le 500$.
- $1 \le M \le 500$.
- $1 \le A_1 \le A_2 \le \cdots \le A_N \le 2000$.
- $1 \le B_1 \le B_2 \le \cdots \le B_M \le 2000$.
样例
输入格式 1
2 1 1 2 2
输出格式 1
1 2 2
说明 1
执行算法前,$A=(1,2), B=(2)$。数列 $C$ 按如下方式生成:
- 数列 $A$ 的开头元素为 $1$,数列 $B$ 的开头元素为 $2$,因此将数列 $A$ 的开头元素追加到数列 $C$ 中,并将其从数列 $A$ 中删除。
- 数列 $A$ 的开头元素为 $2$,数列 $B$ 的开头元素为 $2$,因此将数列 $A$ 的开头元素追加到数列 $C$ 中,并将其从数列 $A$ 中删除。
- 数列 $A$ 为空,因此将数列 $B$ 的开头元素追加到数列 $C$ 中,并将其从数列 $B$ 中删除。
- 数列 $A$ 和数列 $B$ 均为空,因此结束算法。
算法结束后,数列 $C=(1,2,2)$。
输入格式 2
3 8 1 3 8 3 3 4 5 6 7 8 9
输出格式 2
1 3 3 3 4 5 6 7 8 8 9