#include<iostream> #include<vector> #include<algorithm> using namespace std; int n,d[1<<17],p[1<<17]; vector<int>G[1<<17]; void dfs(int u,int P) { d[u]=1; for(int i=0;i<G[u].size();i++) { if(G[u][i]==P)continue; dfs(G[u][i],u); d[u]+=p[G[u][i]]; p[u]+=max(p[G[u][i]],d[G[u][i]]); } } main() { cin>>n; for(int i=1;i<n;i++) { int a,b;cin>>a>>b; G[a].push_back(b); G[b].push_back(a); } dfs(1,0); cout<<(d[1]<p[1]?p[1]:d[1])<<endl; }