길이 $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