Вам дано дерево\(^{\dagger}\). За одну зельда-операцию вы можете сделать следующее:
- Выбрать две вершины дерева \(u\) и \(v\);
- Сжать все вершины на пути от \(u\) до \(v\) в одну вершину. Другими словами, все вершины на пути от \(u\) до \(v\) будут удалены из дерева, будет создана новая вершина \(w\). Затем каждая вершина \(s\), которая имела ребро с какой-то вершиной на пути от \(u\) до \(v\), будет иметь ребро с вершиной \(w\).
Иллюстрация результата зельда-операции для вершин \(1\) и \(5\). Определите минимальное количество зельда-операций, необходимых для того, чтобы в дереве осталась только одна вершина.
\(^{\dagger}\)Дерево — это неориентированный связный граф без циклов.
Выходные данные
Для каждого набора входных данных выведите единственное целое число — минимальное количество зельда-операций, необходимых для того, чтобы в дереве осталась только одна вершина.
Примечание
В первом наборе входных данных достаточно выполнить одну зельда-операцию для вершин \(2\) и \(4\).
Во втором наборе входных данных мы можем выполнить следующие зельда-операции:
- \(u = 2, v = 1\). Пусть добавленная вершина будет обозначена как \(w = 10\);
- \(u = 4, v = 9\). Пусть добавленная вершина будет обозначена как \(w = 11\);
- \(u = 8, v = 10\). После этой операции дерево состоит из одной вершины.
| № | Входные данные | Выходные данные |
|
1
|
4
4
1 2
1 3
3 4
9
3 1
3 5
3 2
5 6
6 7
7 8
7 9
6 4
7
1 2
1 3
2 4
4 5
3 6
2 7
6
1 2
1 3
1 4
4 5
2 6
|
1
3
2
2
|