#include using namespace std; vector g[100100]; int dp[100100][2]; void dfs(int u,int pa=-1){ dp[u][1]=0; dp[u][0]=1; for(auto v:g[u]){ if(v==pa) continue; dfs(v,u); dp[u][1]+=max(dp[v][1],dp[v][0]); dp[u][0]+=max(dp[v][0]-1,dp[v][1]); } } int main(){ int N; cin >> N; for(int i=0;i> u >> v; u--; v--; g[u].push_back(v); g[v].push_back(u); } dfs(0); cout << max(dp[0][1],dp[0][0]) << endl; }