Маленький Слоник очень любит деревья, а особенно корневые.
У него есть дерево, состоящее из n вершин (вершины пронумерованы от 1 до n), с корнем в вершине с номером 1. В каждой вершине дерева хранится некоторый список чисел, который изначально пуст.
Маленький Слоник хочет выполнить m операций. На i-той операции (1 ≤ i ≤ m) он сначала добавляет число i в списки всех вершин поддерева с корнем в вершине с номером ai, а потом добавляет число i в списки всех вершин поддерева с корнем в вершине bi.
После выполнения всех операций, Маленький Слоник для каждой вершины i хочет посчитать число ci — количество целых чисел j (1 ≤ j ≤ n; j ≠ i) таких, что в списках i-той и j-той вершины есть хотя бы одно общее число.
Помогите Маленькому Слонику, посчитайте числа ci за него.
Выходные данные
В единственной строке выведите n целых чисел через пробел — c1, c2, ..., cn.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 1 1 2 1 3 3 5 3 4 2 3
|
0 3 3 3 3
|
|
2
|
11 3 1 2 2 3 2 4 1 5 5 6 5 7 5 8 6 9 8 10 8 11 2 9 3 6 2 8
|
0 6 7 6 0 2 0 5 4 5 5
|