전설의 보물의 비밀
면접 대비시간 제한1초메모리 제한512 MB
1부터 n+m까지의 서로 다른 수로 이루어진 두 오름차순 수열이 주어지고 일부 항목이 0으로 지워져 있을 때, 조건에 맞는 수열 한 쌍을 복원한다.
문제
마침내 두 정수 수열이 적힌 문서를 발견했다. 전설의 보물을 여는 마지막 열쇠다! 그러나 문서의 잉크가 너무 바래서 수열의 일부 숫자는 읽을 수 없다. 다행히 열쇠 수열의 특징에 대한 전설을 들어 본 적이 있다. (1) 두 수열의 숫자는 모두 서로 다르고 1과 두 수열 길이의 합 사이에 있다. (2) 두 수열은 모두 오름차순으로 정렬되어 있다.
읽을 수 있는 숫자와 전설을 바탕으로 원래 수열을 복원하자.
입력
입력은 다음 형식의 단일 테스트 케이스로 이루어진다.
n m
a1 . . . an
b1 . . . bm
첫 번째 줄은 두 정수 n (1 ≤ n ≤ 100)과 m (1 ≤ m ≤ 100)으로 이루어진다. 각각 두 수열 A와 B의 길이다. 두 번째 줄은 수열 A를 나타낸다. 각 ai는 0이거나 양의 정수 1 ≤ ai ≤ n + m이다. 0은 A의 i번째 원소를 읽을 수 없다는 뜻이고, 양의 정수는 그 원소가 ai로 읽힌다는 뜻이다. 세 번째 줄은 같은 방식으로 수열 B를 나타낸다.
출력
복원한 두 수열 A와 B를 두 줄에 출력한다. 두 수열은 입력과 수열의 전설적인 특징에 부합해야 한다.
수열 A의 원소를 첫 번째 줄에 공백 문자로 구분해 출력한다. 그다음 수열 B의 원소를 같은 방식으로 두 번째 줄에 출력한다.
가능한 경우가 여러 가지라면 그러한 쌍 중 아무거나 출력한다. 입력과 부합하고 전설을 따르는 수열 쌍이 적어도 하나 존재함이 보장된다.
힌트
두 번째 예제 입력에는 6과 7의 위치를 바꾼 출력 등 다른 정답도 있다.