#include <bits/stdc++.h>
using namespace std;
void executeTime() {
cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " secs";
}
int main() {
int n; cin >> n;
vector<vector<int>> mp(n + 1);
for (int i = 0; i < n - 1; i++) {
int u, v; cin >> u >> v;
mp[u].push_back(v);
mp[v].push_back(u);
}
function<int(int, int)> solve = [&](int src, int p) {
int cnt = 0;
for (auto &v : mp[src]) {
if (v == p) {
cnt++;
continue;
};
int ans = solve(v, src);
if (ans != -1) return ans;
cnt += 1;
}
if (cnt < 3) return src;
return -1;
};
int ans = solve(1, -1);
cout << ans << endl;
executeTime();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGV4ZWN1dGVUaW1lKCkgewogICAgY2VyciA8PCAiVGltZSBUYWtlbjogIiA8PCAoZmxvYXQpY2xvY2soKSAvIENMT0NLU19QRVJfU0VDIDw8ICIgc2VjcyI7Cn0KCmludCBtYWluKCkgewoKICAgIGludCBuOyBjaW4gPj4gbjsKCiAgICB2ZWN0b3I8dmVjdG9yPGludD4+IG1wKG4gKyAxKTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG4gLSAxOyBpKyspIHsKICAgICAgICBpbnQgdSwgdjsgY2luID4+IHUgPj4gdjsKCiAgICAgICAgbXBbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIG1wW3ZdLnB1c2hfYmFjayh1KTsKICAgIH0KCgogICAgZnVuY3Rpb248aW50KGludCwgaW50KT4gc29sdmUgPSBbJl0oaW50IHNyYywgaW50IHApIHsKCiAgICAgICAgaW50IGNudCA9IDA7CgogICAgICAgIGZvciAoYXV0byAmdiA6IG1wW3NyY10pIHsKICAgICAgICAgICAgaWYgKHYgPT0gcCkgewogICAgICAgICAgICAgICAgY250Kys7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIGludCBhbnMgPSBzb2x2ZSh2LCBzcmMpOwogICAgICAgICAgICBpZiAoYW5zICE9IC0xKSByZXR1cm4gYW5zOwoKICAgICAgICAgICAgY250ICs9IDE7CiAgICAgICAgfQoKICAgICAgICBpZiAoY250IDwgMykgcmV0dXJuIHNyYzsKCiAgICAgICAgcmV0dXJuIC0xOwogICAgfTsKCiAgICBpbnQgYW5zID0gc29sdmUoMSwgLTEpOwoKICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CgogICAgZXhlY3V0ZVRpbWUoKTsKICAgIHJldHVybiAwOwp9