AT_joi2020_yo1a_c マージ (Merge)

Description

[problemUrl]: https://atcoder.jp/contests/joi2020yo1a/tasks/joi2020_yo1a_c 長さ $ N $ の正整数列 $ A=(A_1,\ A_2,\ \ldots,\ A_N) $ と,長さ $ M $ の正整数列 $ B=(B_1,\ B_2,\ \ldots,\ B_M) $ が与えられる. これらの数列は,共に広義単調増加数列である.つまり,$ A_1\ \leqq\ A_2\ \leqq\ \cdots\ \leqq\ A_N $, $ B_1\ \leqq\ B_2\ \leqq\ \cdots\ \leqq\ B_M $ を満たす. 以下のアルゴリズムを用いて,これらの数列から,長さ $ N+M $ の正整数列 $ C=(C_1,\ C_2,\ \ldots,\ C_{N+M}) $ を生成する. 1. はじめ $ C $ は空とする. 2. $ A $ と $ B $ がどちらも空の場合,終了する. 3. $ A $ と $ B $ のどちらかが空の場合,そうでない数列を $ t $ とおく.どちらも空でない場合,先頭の要素が小さい数列を $ t $ とおく.ただし,$ A $ と $ B $ の先頭の要素が同じ値のときは $ A $ を $ t $ とおく. 4. $ t $ の先頭の要素を $ C $ の末尾に追加する. 5. $ t $ の先頭の要素を削除する. 6. 2. に戻る. 広義単調増加な正整数列 $ A $, $ B $ が与えられたとき,このアルゴリズムにより生成される正整数列 $ C $ を出力するプログラムを作成せよ.

Input Format

入力は以下の形式で標準入力から与えられる. > $ N $ $ M $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $ $ B_1 $ $ B_2 $ $ \cdots $ $ B_M $

Output Format

標準出力に $ N\ +\ M $ 行出力せよ. $ k $ 行目 ($ 1\ \leqq\ k\ \leqq\ N\ +\ M $) には,$ C_k $ を出力せよ.

Explanation/Hint

### 制約 - $ 1\ \leqq\ N\ \leqq\ 500 $. - $ 1\ \leqq\ M\ \leqq\ 500 $. - $ 1\ \leqq\ A_1\ \leqq\ A_2\ \leqq\ \cdots\ \leqq\ A_N\ \leqq\ 2000 $. - $ 1\ \leqq\ B_1\ \leqq\ B_2\ \leqq\ \cdots\ \leqq\ B_M\ \leqq\ 2000 $. ### Sample Explanation 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) $ である.