#include <bits/stdc++.h>
using namespace std;
const int maxn = 112345;
vector<int> G[maxn], E[maxn << 1];
int st[maxn << 1], en[maxn << 1];
int n;
inline void update(vector<int> &a, const vector<int> &b) {
  if (b.empty()) return;
  if (a.empty())
    a = b;
  else {
    if (a[0] == -1) return;
    if (a != b) a = {-1};
  }
}
inline bool bad(const vector<int> &a) { return a.size() && a[0] == -1; }
inline void append(vector<int> &a, int b) {
  if (bad(a)) return;
  if (!b)
    a = {0};
  else {
    a.back()++;
    if (b > 1) {
      a.emplace_back(b);
      a.emplace_back(0);
    }
  }
}
void dfs(int u, int link) {
  int cnt = 0;
  for (auto _ : G[u])
    if ((_ ^ 1) != link) {
      dfs(en[_], _);
      cnt++;
      if (link != -1) update(E[link], E[_]);
    }
  if (link != -1) append(E[link], cnt);
}
void dfs2(int u, int link) {
  vector<int> ch;
  vector<vector<int>> tab;
  for (auto _ : G[u]) {
    ch.emplace_back(_);
    tab.emplace_back(E[_]);
  }
  vector<vector<int>> pre(tab.size() + 1), suf(tab.size() + 1);
  for (int(i) = (0); (i) <= ((int(tab.size())) - 1); (i)++) {
    update(pre[i + 1], pre[i]);
    update(pre[i + 1], tab[i]);
  }
  for (int(i) = (int(tab.size()) - 1); (i) >= (0); (i)--) {
    update(suf[i], suf[i + 1]);
    update(suf[i], tab[i]);
  }
  for (int(i) = (0); (i) <= ((int(tab.size())) - 1); (i)++)
    if ((ch[i] ^ 1) != link) {
      update(E[ch[i] ^ 1], pre[i]);
      update(E[ch[i] ^ 1], suf[i + 1]);
      append(E[ch[i] ^ 1], int(tab.size()) - 1);
    }
  for (auto _ : G[u])
    if ((_ ^ 1) != link) dfs2(en[_], _);
}
int main() {
  scanf("%d", &n);
  for (int(i) = (0); (i) <= ((n - 1) - 1); (i)++) {
    int idx = 2 * i;
    scanf("%d%d", st + idx, en + idx);
    st[idx]--, en[idx]--;
    G[st[idx]].emplace_back(idx);
    G[en[idx]].emplace_back(idx + 1);
    st[idx + 1] = en[idx];
    en[idx + 1] = st[idx];
  }
  dfs(0, -1);
  dfs2(0, -1);
  for (int(i) = (0); (i) <= ((n)-1); (i)++) {
    vector<int> ans;
    for (auto _ : G[i]) update(ans, E[_]);
    if (!bad(ans)) {
      printf("%d", i + 1);
      return 0;
    }
  }
  puts("-1");
}
