#include using namespace std; #define rep(i, a, b) for(int i = a;i < (b);++i) #define sz(x) (int)(x).size() typedef vector vi; struct node{ vector children; int visited = 0; }; int dfs(vector &g, int s){ g[s].visited = 1; int res = 0; int parent = 0; for(auto &v:g[s].children){ if(!g[v].visited) res+=dfs(g, v); else{ parent = 1; } } int children_size = int(g[s].children.size()) - parent; res += max(0, children_size - 1); return res; } int main() { ios_base::sync_with_stdio(0); int n; cin >> n; vector g(n+1); for(int i=0;i> u >> v; g[u].children.push_back(v); g[v].children.push_back(u); } cout << dfs(g, 1) << endl; return 0; }