constint N = 100010; int n; vector<int> q[N]; int ans = 0;
intdfs(int u, int father){ int sz = 1; for (int c : q[u]) { if (c == father) continue; int s = dfs(c, u); if (s % 2== 0) ans ++; sz += s; } return sz; } intmain() { cin >> n; if (n & 1) { puts("-1"); return0; } for (int i = 1; i < n; i ++) { int a, b; scanf("%d%d", &a, &b); q[a].push_back(b); q[b].push_back(a); }