#include<iostream>
#include<string.h>
using namespace std;
#define N 101
int head[N],to[N],nxxt[N],cnt;
int u,v,n,flag[N];
bool a[N];
void add(int u,int v)
{
to[++cnt]=v;
nxxt[cnt]=head[u];
head[u]=cnt;
}
void dfs(int x)
{
a[x]=true;
for(int i=head[x];i;i=nxxt[i])
{
if(a[to[i]]!=true)
{
flag[to[i]]++;
}
}
}
int main()
{
cin>>n;
for(int i=1;i<=n-1;i++)
{
cin>>u>>v;
add(u,v);
}
for(int i=1;i<=n;i++)
{
memset(a,false,sizeof(a));
dfs(i);
}
for(int i=1;i<=n;i++)
{
if(flag[i]==n-1)
{
cout<<i<<endl;
system("pause");
return 0;
}
}
cout<<-1<<endl;
system("pause");
return 0;
}