Jayden is a little kid that likes to study trees. From the last problem, Jayden has cut down many trees. Each tree is an undirected graph where any two nodes are connected by exactly one path. Jayden would like to find the length of the longest of the paths. That means that he wants you to do it for him.

#### Input Specification

The first line will have . The next lines will each contain two integers and , denoting that an edge connects node with node .

#### Output Specification

On a single line, print the longest path between any two nodes in the tree.

#### Sample Input

```
6
1 2
1 3
2 4
2 5
5 6
```

#### Sample Output

`4`

#### Reaching the recursion limit on Python?

You can increase the amount of calls a recursive program in Python with the following code:

```
import sys
sys.setrecursionlimit(x) #x will be the maximum number of calls that a recursive function can call.
```

If you set to be too big, Python might run out of memory when performing the recursive calls and generate a Segmentation Fault. Try to keep as low as possible.

## Comments

The link to the wikipedia page about trees is incorrectly formatted. The closing parenthesis at the end of the URL is not part of the link, and should be.

Fixed

This problem gives 10.0/7.0 for AC.

In the sample input, two nodes 1 and 4 are not connected by exactly one path. The description should probably say 'up to one path'

edit ah. never mind.

So when it says it connects node x to node y that path goes both ways right?

yup

It says that the first line will have 2 integers

N, but there is only 1 integer in the sample inputFixed, thanks for noticing.

Is the output

`4`

because there is a path of length 4?You're right, it has been fixed.