#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a>n; vector > G(n); for(Int i=1;i>x>>y; x--;y--; G[x].emplace_back(y); G[y].emplace_back(x); } function dfs= [&](Int v,Int p)->void{ for(Int u:G[v]){ if(u!=p) dfs(u,v); } dp[0][v]=0; dp[1][v]=0; for(Int u:G[v]){ if(u==p) continue; dp[0][v]+=max(dp[0][u],dp[1][u]); dp[1][v]+=max(dp[0][u]+1,dp[1][u]); } }; dfs(0,-1); cout<