CF1029E Tree with Small Distances

Description

You are given an undirected tree consisting of $ n $ vertices. An undirected tree is a connected undirected graph with $ n - 1 $ edges. Your task is to add the minimum number of edges in such a way that the length of the shortest path from the vertex $ 1 $ to any other vertex is at most $ 2 $ . Note that you are not allowed to add loops and multiple edges.

Input Format

The first line contains one integer $ n $ ( $ 2 \le n \le 2 \cdot 10^5 $ ) — the number of vertices in the tree. The following $ n - 1 $ lines contain edges: edge $ i $ is given as a pair of vertices $ u_i, v_i $ ( $ 1 \le u_i, v_i \le n $ ). It is guaranteed that the given edges form a tree. It is guaranteed that there are no loops and multiple edges in the given edges.

Output Format

Print a single integer — the minimum number of edges you have to add in order to make the shortest distance from the vertex $ 1 $ to any other vertex at most $ 2 $ . Note that you are not allowed to add loops and multiple edges.

Explanation/Hint

The tree corresponding to the first example: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1029E/ca72ba8f2382aa39d178a32163f0f1f063cb44cb.png) The answer is $ 2 $ , some of the possible answers are the following: $ [(1, 5), (1, 6)] $ , $ [(1, 4), (1, 7)] $ , $ [(1, 6), (1, 7)] $ . The tree corresponding to the second example: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1029E/d73175269a1bcbf13468929d67426008434bf123.png) The answer is $ 0 $ . The tree corresponding to the third example: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1029E/b047dddebcda07e8b951556140eebf0526e2146e.png) The answer is $ 1 $ , only one possible way to reach it is to add the edge $ (1, 3) $ .