问题
给定长度为 N 的正整数序列 A=(A1,A2,…,AN) 和长度为 M 的正整数序列 B=(B1,B2,…,BM)。这些序列都是非严格递增序列,即满足 A1≤A2≤⋯≤AN,B1≤B2≤⋯≤BM。
使用以下算法从这些序列生成长度为 N+M 的正整数序列 C=(C1,C2,…,CN+M)。
- 初始化 C 为空序列。
- 如果 A 和 B 都为空序列,则终止。
- 如果 A 和 B 中有一个为空序列,则将非空序列记为 t。如果两个序列都非空,则将头元素较小的序列记为 t。如果 A 和 B 的头元素相等,则将 A 记为 t。
- 将 t 的头元素追加到 C 的末尾。
- 删除 t 的头元素。
- 返回步骤 2。
给定非严格递增的正整数序列 A 和 B,请编写一个程序输出通过该算法生成的正整数序列 C。
约束条件
- 1≤N≤500。
- 1≤M≤500。
- 1≤A1≤A2≤⋯≤AN≤2000。
- 1≤B1≤B2≤⋯≤BM≤2000。
输入
输入以以下格式从标准输入中给出。
N M
A1 A2 ⋯ AN
B1 B2 ⋯ BM
输出
输出共 N+M 行,以标准输出形式给出。
第 k 行 (1≤k≤N+M) 输出 Ck。
示例输入 1
2 1
1 2
2
示例输出 1
1
2
2
在执行算法之前,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