编程题
### 问题描述
小齐有一个农场,共有 $N$ 片土地,编号为 $1$ 到 $N$。这些土地通过 $N-1$ 条双向路径连接在一起,确保任意两个土地之间都可以通过路径相互到达。
小齐可以在每片土地上种植不同种类的草,但他想要尽量减少使用的草的种类,因为使用的草种类越多,费用就越高。
然而,小齐的牛对草的选择非常挑剔。如果相邻的两片土地(直接通过路径连接)或者几乎相邻的两片土地(通过路径连接到同一片土地)上种植了相同种类的草,牛会抱怨饲食选择的单一性。小齐可不想让牛们抱怨,因为他知道牛一旦不满意,就可能在农场制造更多的麻烦。
请帮助小齐确定他需要在整个农场种植的最少草的种类数。
### 输入格式
第一行输入一个整数 $N$,表示土地的数量。
接下来的 $N-1$ 行,每行包含两个整数,描述一条连接路径的两个土地。
### 输出格式
输出小齐需要使用的最少草的种类数。
### 样例输入
```
4
1 2
4 3
2 3
```
### 样例输出
```
3
```
### 评测数据规模
$1 \leq N \leq 10^5$。