import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
// while (in.hasNextInt()) { // 注意 while 处理多个 case
// int a = in.nextInt();
// int b = in.nextInt();
// System.out.println(a + b);
// }
int n = in.nextInt();
int[] arr = new int[2 * n];
int index = 0;
while (index < 2 * n) {
arr[index] = in.nextInt();
index++;
}
Node head = new Node(arr[0]);
for (int i = 1; i < 2 * n - 1; i++) {
if (arr[i] == head.v) {
// Node second = find(head, arr[i - 1]);
Node second = new Node(arr[i - 1]);
second.next = head.next;
head.next = second;
} else if (i % 2 == 0) {
Node pre = find(head, arr[i]);
Node next = find(head, arr[i - 1]);
if (pre == null && next == null) {
pre = new Node(arr[i]);
next = new Node(arr[i - 1]);
pre.next = next;
} else if (pre == null && next != null) {
Node oldPre = findPre(head, next.v);
pre = new Node(arr[i]);
oldPre.next = pre;
pre.next = next;
} else if (pre != null && next == null) {
next = new Node(arr[i - 1]);
next.next = pre.next;
pre.next = next;
} else if (pre != null && next != null) {
Node oldPre = findPre(head, next.v);
oldPre.next = next.next;
next.next = pre.next;
}
}
}
Node node = head;
while (node != null) {
if (arr[2 * n - 1] == node.v) {
node = node.next;
continue;
}
System.out.print(node.v + " ");
node = node.next;
}
}
private static Node find(Node head, int v) {
Node node = head;
while (node != null) {
if (node.v == v) {
return node;
} else {
node = node.next;
}
}
return null;
}
private static Node findPre(Node head, int v) {
Node node = head;
while (node != null) {
if (node.next.v == v) {
return node;
} else {
node = node.next;
}
}
return null;
}
}
class Node {
int v;
Node next;
Node (int v) {
this.v = v;
}
}