import java.util.*;
public class Main {
public static void main
(String[] args
) { Scanner scanner
= new Scanner
(System.
in); int n = scanner.nextInt();
ArrayList
<Integer
>[] G
= new ArrayList[n
+ 1]; for (int i = 1; i <= n; i++) {
G[i] = new ArrayList<>();
}
int i = 1;
while (i <= n - 1) {
int x = scanner.nextInt();
int y = scanner.nextInt();
G[x].add(y);
G[y].add(x);
i++;
}
Queue<Integer> q = new LinkedList<>();
int[] used = new int[n + 1];
used[1] = 1;
q.offer(1);
while (!q.isEmpty()) {
int node = q.poll();
int c = 0;
for (int u : G[node]) {
if (used[u] == 0) {
c++;
used[u] = 1;
q.offer(u);
}
}
System.
out.
println(node
+ " " + c
); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwogCnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBTY2FubmVyIHNjYW5uZXIgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCWludCBuID0gc2Nhbm5lci5uZXh0SW50KCk7CiAgICAgICAgQXJyYXlMaXN0PEludGVnZXI+W10gRyA9IG5ldyBBcnJheUxpc3RbbiArIDFdOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICBHW2ldID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgfQogCiAgICAgICAgaW50IGkgPSAxOwogICAgICAgIHdoaWxlIChpIDw9IG4gLSAxKSB7CiAgICAgICAgICAgIGludCB4ID0gc2Nhbm5lci5uZXh0SW50KCk7CiAgICAgICAgICAgIGludCB5ID0gc2Nhbm5lci5uZXh0SW50KCk7CiAgICAgICAgICAgIEdbeF0uYWRkKHkpOwogICAgICAgICAgICBHW3ldLmFkZCh4KTsKICAgICAgICAgICAgaSsrOwogICAgICAgIH0KCQlRdWV1ZTxJbnRlZ2VyPiBxID0gbmV3IExpbmtlZExpc3Q8PigpOwogICAgICAgIGludFtdIHVzZWQgPSBuZXcgaW50W24gKyAxXTsKICAgICAgICB1c2VkWzFdID0gMTsKICAgICAgICBxLm9mZmVyKDEpOwoJCXdoaWxlICghcS5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgaW50IG5vZGUgPSBxLnBvbGwoKTsKICAgICAgICAgICAgaW50IGMgPSAwOwogICAgICAgICAgICBmb3IgKGludCB1IDogR1tub2RlXSkgewogICAgICAgICAgICAgICAgaWYgKHVzZWRbdV0gPT0gMCkgewogICAgICAgICAgICAgICAgICAgIGMrKzsKICAgICAgICAgICAgICAgICAgICB1c2VkW3VdID0gMTsKICAgICAgICAgICAgICAgICAgICBxLm9mZmVyKHUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgkJU3lzdGVtLm91dC5wcmludGxuKG5vZGUgKyAiICIgKyBjKTsKICAgICAgICB9CiAgICB9Cn0=