#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF (1<<29) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() #define uniq(v) v.erase(unique(all(v)),v.end()) int n; vector edge[100000]; pair dfs(int p,int u) { pair ret(1, 0); for (int v : edge[u]) { if (p != v) { auto x = dfs(u, v); ret.first += x.second; ret.second += x.first; } } ret.first = max(ret.first, ret.second); return ret; } int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; rep(i,n-1) { int u, v; cin >> u >> v; u--; v--; edge[u].push_back(v); edge[v].push_back(u); } auto x = dfs(-1, 0); cout << max(x.first, x.second) << endl; return 0; }