#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
vector <int> g[110];
int cnt[110];
bool vis[110];
void dfs(int x, int st)
{
if(vis[x])
return ;
vis[x] = 1;
cnt[x]++;
for(int i = 0; i < g[x].size(); i++)
{
int y = g[x][i];
dfs(y, st);
}
}
int main()
{
int n;
cin >> n;
for(int i = 1; i < n; i++)
{
int a, b;
cin >> a >> b;
g[b].push_back(a);
}
for(int i = 1; i <= n; i++)
{
memset(vis, 0, sizeof(vis));
dfs(i, i);
}
for(int i = 1; i <= n; i++)
{
if(cnt[i] == n)
{
cout << i << endl;
return 0;
}
}
cout << -1 << endl;
return 0;
}