#include <bits/stdc++.h>
using namespace std;
long long bin_pow(long long x, long long e, long long mod) {
  long long res = 1;
  while (e) {
    if (e & 1) res = res * x % mod;
    e >>= 1;
    x = x * x % mod;
  }
  return res;
}
long long n;
vector<long long> v[100005];
bool stat[100005];
long long cnt[100005];
long long total;
void dfs1(long long ver) {
  stat[ver] = 1;
  long long len = v[ver].size();
  long long suc;
  for (int i = 0; i < len; i++) {
    suc = v[ver][i];
    if (!stat[suc]) {
      if (cnt[suc] % 2 == 0) total++;
      dfs1(suc);
    }
  }
}
void dfs(long long ver) {
  stat[ver] = 1;
  long long len = v[ver].size();
  long long suc;
  for (int i = 0; i < len; i++) {
    suc = v[ver][i];
    if (!stat[suc]) {
      dfs(suc);
      cnt[ver] += cnt[suc];
    }
  }
  cnt[ver]++;
}
int main() {
  cin >> n;
  total = 0;
  long long a, b;
  for (int i = 0; i < n - 1; i++) {
    cin >> b >> a;
    v[b].push_back(a);
    v[a].push_back(b);
  }
  if (n & 1) {
    cout << -1 << endl;
    return 0;
  }
  for (int i = 0; i <= n; i++) {
    cnt[i] = 0;
  }
  dfs(1);
  for (int i = 0; i <= n; i++) {
    stat[i] = 0;
  }
  dfs1(1);
  cout << total;
  return 0;
}
