编程题
### 问题描述
农夫小齐的农场有 $N$ 片牧场,通过 $N-1$ 条道路连接,形成一棵树状结构。然而,小齐认为树状结构过于复杂,不利于算法问题的处理。他决定将这些道路划分为若干条路径,并将这些路径的管理权交给他的农场工人。他不关心路径的数量,但希望确保这些路径都尽可能地长,以防止农场工人使用非常低效的算法。
帮助小齐确定最大正整数 $K$,使得道路可以划分为至少长度为 $K$ 的路径。
### 输入格式
第一行包含一个整数 $N$,表示牧场的数量。
接下来的 $N-1$ 行,每行包含两个用空格分隔的整数 $a$ 和 $b$,描述两个牧场之间存在一条连接的边。其中 $1 \leq a, b \leq N$。
### 输出格式
输出一个整数 $K$。
### 样例输入
```
8
1 2
1 3
1 4
4 5
1 6
6 7
7 8
```
### 样例输出
```
3
```
### 评测数据规模
$2 \leq N \leq 10^5$。