Visiting Cows [Neal Wu, 2008]

После долгих недель напряженной работы Бесси наконец-то получила отпуск!
Будучи самой социальной коровой в стаде, она собирается навестить ее N (1 <= N <= 50,000) друзей, последовательно пронумерованных 1..N.
Коровы создали довольно необычную дорожную сеть с ровно N-1 дорогами,
соединяющими пары коров C1 и C2 (1 <= C1 <= N; 1 <= C2 <= N; C1 != C2) таким образом,
что существует единственный путь между любыми двумя коровами.

ФД хочет, чтобы Бесси вернулась обратно как можно скорее; поэтому, он дал ей указание,
что если 2 коровы соединены дорогой, она не может навестить обеих.
Конечно, Бесси хочет, чтобы ее отпуск длился как можно дольше, так что она хочет определить наибольшее количество коров, которое она может навестить.

PROBLEM NAME: vacation

INPUT FORMAT:

* Строка 1: единственное целое число N

* Строки 2..N: каждая строка описывает одну дорогу двумя числами через пробел: C1 и C2

SAMPLE INPUT (file vacation.in):

7
6 2
3 4
2 3
1 2
7 6
5 6

INPUT DETAILS:

Бесси знакома с 7 коровами. Коровы 6 и 2 соединены дорогой, так же как 3 и 4, 2 и 3, и так далее.
На приведенном ниже рисунке изображены дороги, соединяющие коров:

                       1--2--3--4
                          |
                       5--6--7

OUTPUT FORMAT:

* Строка 1: единственное целое число - максимальное количество коров, которое Бесси может навестить.

SAMPLE OUTPUT (file vacation.out):

4

OUTPUT DETAILS:

Бесси может навестить 4 коров. Лучшая комбинация включает 2 коров в верхнем ряду и 2 в нижнем.
Она не может навестить корову 6, потому что это помешает ей навестить коров 5 и 7; поэтому она навестит 5 и 7.
Она может также навестить 2 коров в верхнем ряду: {1,3}, {1,4}, или {2,4}.