#include using namespace std; int N; vector G[100010]; bool remv[100010]; void dfs(int u, int p) { remv[u] = false; for(int v : G[u]) if(v != p) dfs(v, u); if(~p && !remv[u]) remv[p] = true; } int main() { cin >> N; for(int i = 0; i < N-1; ++i) { int u, v; cin >> u >> v; --u, --v; G[u].push_back(v); G[v].push_back(u); } if(N < 3) { cout << 1 << endl; return 0; } int root = 0; while(G[root].size() < 2) ++root; dfs(root, -1); cout << count(remv, remv+N, false) << endl; return 0; }