시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 256 MB0000.000%

문제

Искусству выращивания карликовых деревьев — бонсай уже более двух тысяч лет, и за это время было придумано множество различных стилей и техник. В этой задаче вам тоже предлагается вырастить дерево, но в несколько другом смысле.

Дерево — неориентированный связный граф без циклов. Изначально у вас есть дерево, состоящее из одной вершины. Вам доступны две операции с вашим деревом: удалить одно ребро и оставить любую из двух получившихся частей дерева, а также добавить две новые вершины и соединить их с вершиной, у которой до этого было не более одной смежной с ней вершины. Какое минимальное количество операций нужно, чтобы получить заданное дерево?

입력

Первая строка содержит целое число n (1 ≤ n ≤ 105). Каждая из следующих n - 1 строк содержит по два числа uivi — ребра дерева: (1 ≤ uivi ≤ n для всех i от 1 до n - 1). Гарантируется, что заданный граф является деревом.

출력

Если такое дерево построить невозможно, выведите единственное число -1. В ином случае выведите минимальное количество операций, которое нужно, чтобы получить данное дерево.

예제 입력 1

2
1 2

예제 출력 1

2

예제 입력 2

3
1 2
2 3

예제 출력 2

1

예제 입력 3

5
1 2
1 3
1 4
1 5

예제 출력 3

-1