상대 가문에 속한 기사 한 명을 각자 지목한 2n명의 기사 중에서 사전 순으로 가장 작은 커널을 찾습니다.
어려움8그래프그리디아직 제출이 없습니다시간 제한2초메모리 제한512 MB마상 창시합은 두 사람이 말을 타고 빠르게 달리면서 나무 창으로 상대를 찌르는 중세의 경기다. 서로 경쟁하는 두 가문에서 기사가 n명씩, 모두 2n명이 대회에 참가했다. 도착한 기사는 저마다 상대 가문의 기사 한 명에게 결투를 신청했다.
기사의 부분집합 S가 다음 두 조건을 모두 만족하면 S를 커널이라고 한다.
신청된 결투가 모두 주어질 때 커널을 하나 찾아라. 커널은 항상 존재한다.
첫째 줄에 각 가문의 기사 수 n이 주어진다 (1≤n≤100000). 첫 번째 가문의 기사는 1번부터 n번까지, 두 번째 가문의 기사는 n+1번부터 2n번까지 번호가 붙어 있다.
둘째 줄에 정수 f1,f2,…,fn이 주어진다. fk는 k번 기사가 결투를 신청한 기사의 번호다 (n+1≤fk≤2n).
셋째 줄에 정수 s1,s2,…,sn이 주어진다. sk는 n+k번 기사가 결투를 신청한 기사의 번호다 (1≤sk≤n).
커널에 속한 기사의 번호를 오름차순으로 정렬해 한 줄에 공백으로 구분해 출력한다.
커널이 여러 개면 그중 사전순으로 가장 작은 것을 출력한다. 즉, 각 커널을 오름차순 수열로 적었을 때 사전순으로 가장 앞서는 수열을 출력한다.