아줄레주
면접 대비시간 제한10초메모리 제한512 MB
두 줄의 타일을 가격 순서로 배열해서 뒤쪽 타일이 같은 열의 앞쪽 타일보다 높도록 합니다. 불가능하면 impossible을 출력합니다.
문제
세라믹 예술가 마리아와 주앙은 포르투에 작은 아줄레주 가게를 열려고 한다. 아줄레주는 포르투갈이 유명한 아름다운 세라믹 타일이다. 두 사람은 매력적인 진열창을 만들고 싶지만, 가게 공간이 좁아서 타일 샘플을 선반 하나에 두 줄로 배열해야 한다. 주앙의 타일 한 장마다 바로 앞에 마리아의 타일이 정확히 한 장씩 놓이고, 마리아의 타일 한 장마다 바로 뒤에 주앙의 타일이 정확히 한 장씩 놓인다. 타일은 모두 수제이며 크기가 여러 가지다. 행인이 두 타일을 모두 볼 수 있도록, 뒷줄 타일은 바로 앞에 있는 타일보다 높아야 한다. 손님의 편의를 위해 각 줄의 타일은 왼쪽에서 오른쪽으로 가격이 낮은 순서(비내림차순)로 놓는다. 가격이 같은 타일은 위의 가시성 조건만 지키면 어떤 순서로 놓아도 된다.
이 제약을 모두 만족하는 각 줄의 타일 순서를 찾거나, 그런 순서가 존재하지 않음을 판단하라.
입력
첫 줄에는 각 줄의 타일 개수 ()이 주어진다. 다음 네 줄에는 각각 개의 정수가 주어진다. 처음 두 줄은 뒷줄 타일, 다음 두 줄은 앞줄 타일을 나타낸다. 각 줄의 타일은 입력 순서대로 1부터 까지 번호가 매겨진다. 각 쌍의 첫 줄은 ()이며, 는 그 줄의 번 타일 가격이다. 둘째 줄은 ()이며, 는 그 줄의 번 타일 높이다.
출력
올바른 순서가 존재하면 각각 개의 정수로 이루어진 두 줄을 출력한다. 각 줄은 1부터 까지 타일 번호의 순열이다. 첫 줄은 뒷줄의 순서, 둘째 줄은 앞줄의 순서다. 제약을 만족하는 순열 쌍이 여러 개이면 어느 쌍이든 인정된다. 순서가 존재하지 않으면 impossible을 출력한다.