Рыцарский средневековый конкурс заключается в том, что люди верхом на лошадях пытаются ударить друг друга деревянными копьями во время езды на высокой скорости. В общей сложности 2n рыцарей выступили в рыцарском турнире — по n рыцарей из каждого из двух больших конкурирующих домов. По прибытии на турнир каждый рыцарь вызвал одного рыцаря из другого дома на дуэль.
Ядро определяется как некоторое подмножество S рыцарей со следующими двумя свойствами:
Ни один рыцарь из S не был вызван на дуэль другим рыцарем из S.
Каждый рыцарь не из S был вызван на дуэль некоторым рыцарем из S.
По заданному множеству вызовов на дуэли найдите ядро. Гарантируется, что ядро всегда существует.
Первая строка содержит число n (1≤n≤105) — количество рыцарей из каждого дома. Рыцари из первого дома обозначаются числами от 1 до n, рыцари из другого дома — числами с n+1 до 2n.
Следующая строка содержит целые числа f1,f2,...,fn — k-ое число fk — номер рыцаря, вызванного на дуэль рыцарем k (n+1≤fk≤2n).
Следующая строка содержит целые числа s1,s2,...,sn — k-ое число sk — номер рыцаря, вызванного на дуэль рыцарем n+k (1≤sk≤n).
Вывести номера рыцарей в ядре в одной строке. Если существует более одного решения, вывести любое.