#include<stdio.h>
int tempArr[1001][10] = {0};
int parentNode[100] = {0};
int visited[100] = {0};
void dfs(int nextNode, int num);
int main() {
int n, n1,n2, temp;
scanf("%d" , &n);
for (int i=0; i<2*(n-1); i = i+2) {
scanf("%d %d", &n1, &n2);
tempArr[n1][end(n1)] = n2;
tempArr[n2][end(n2)] = n1;
}
dfs(1,n);
for (int i=2; i<=n; i++) {
printf("%d\n", parentNode[i]);
}
return 0;
}
void dfs(int nextNode, int n) {
int i;
visited[nextNode] = 1;
i=0;
while (tempArr[nextNode][i]!=0) {
if (visited[tempArr[nextNode][i]]==0) {
// printf("v: %d %d\n", nextNode, tempArr[nextNode][i]);
parentNode[tempArr[nextNode][i]] = nextNode;
dfs(tempArr[nextNode][i], n);
}
i++;
}
}
int end(int idx) {
int i;
i=0;
while (tempArr[idx][i]!=0) {
i++;
}
return i;
}



