#include using namespace std; using ll = long long; int n; vector> M; ll dp[101010][2]; //dp[i][j]j..切るか切らないかの時の数 void dfs(int now,int p = -1) { for(auto i:M[now]) { if(p!=i) { dfs(i,now); dp[now][0] += max(dp[i][0]-1,dp[i][1]); dp[now][1] += max(dp[i][0],dp[i][1]); } } } int main() { cin >> n; M = vector>(n); for(int i = 0;i> x >> y; x--;y--; M[x].push_back(y); M[y].push_back(x); } for(int i = 0;i