编程题
### 问题描述
维斯特洛大陆上有 $N$ 座城镇,编号从 $1$ 开始,城镇之间由 $N-1$ 条双向通行的国王大道连接起来。国王为了保护在国王大道上通行的百姓不受强盗的侵扰,决定选择一部分城镇作为军营,作为军营的城镇将有足够的兵力来保卫与军营直接相连的几条国王大道。当然,国王的士兵是有限的,所以他想知道,为了保护所有的国王大道,他最少需要设定多少座军营?
### 输入格式
第一行一个正整数 $N$,表示有 $N$ 座城镇。
接下来 $N$ 行,每行两个整数 $x,y$,表示第 $x$ 座城镇与第 $y$ 座城镇之间有一条双向通行的国王大道。
### 输出格式
输出共一行,输出一个整数表示国王最少需要设定的军营数。
### 样例输入
```text
7
1 2
1 3
2 4
2 5
3 6
6 7
```
### 样例输出
```text
3
```
### 说明
样例中,可以选定编号为 $1$、$2$ 和 $6$ 的城镇作为军营,同样也可以选定编号为 $2$、$3$ 和 $7$ 的城镇作为军营,总共需要 $3$ 座军营,这样是满足题目要求的最优答案。
### 评测数据规模
对于所有评测数据,$2 \leq N \leq 2 \times 10^5$,$1 \leq x,y \leq N$。