쓰러진 서버
시간 제한1초메모리 제한512 MB
구간의 최솟값과 최댓값 메모가 주어질 때 모순이 없으면 사전순으로 가장 작은 순열을 복원하고, 모순이 있으면 -1을 출력합니다.
문제
베를란드 프로그래밍 올림피아드에 참가자 명이 있으며, 번호는 1부터 까지입니다. 각 참가자는 1부터 까지의 서로 다른 등수를 받았고, 는 등을 차지한 참가자의 번호입니다. 장애로 결과가 모두 사라졌습니다.
결과가 남아 있던 동안 심사위원 두 명이 각자 메모를 남겼습니다.
첫 번째 심사위원은 개의 메모를 남겼습니다. 각 메모는 등수 부터 까지(양 끝 포함) 참가자 중 가장 작은 번호가 라는 내용입니다.
두 번째 심사위원은 개의 메모를 남겼습니다. 각 메모는 등수 부터 까지(양 끝 포함) 참가자 중 가장 큰 번호가 라는 내용입니다.
메모로부터 을 복원하거나, 메모에 오류가 있다고 보고하세요. 조건에 맞는 배치가 여러 개면, 심사위원은 수열 이 사전순으로 가장 작은 배치를 원합니다.
입력
첫 줄에 정수 , , 가 주어집니다 (; ). 다음 개 줄에는 첫 번째 심사위원의 메모가 정수 , , 로 주어집니다 (; ). 그다음 개 줄에는 두 번째 심사위원의 메모가 같은 형식으로 주어집니다.
출력
메모끼리 모순되면 -1을 출력하세요. 그렇지 않으면 모든 메모와 심사위원의 선호를 만족하는 배치를 정수 개 으로 출력하세요. 는 등을 차지한 참가자의 번호입니다.