#include <stdio.h>
#include <algorithm>
using namespace std;
class CA
{
public:
enum{N=100000};
void run();
int ar[N],addr1,addr2,n;
bool b[N];
};
void CA::run()
{
n=N;
fill_n(ar,n,-1);
fill_n(b,n,false);
scanf("%d%d%d",&addr1,&addr2,&n);
int i,a1,a2,icom=-1;
char ch;
for(i=0;i<n;i++)
{
scanf("%d %c %d",&a1,&ch,&a2);
ar[a1]=a2;
}
while(addr1!=-1||addr2!=-1)
{
if(addr1!=-1)
{
if(b[addr1])
{
icom=addr1;
break;
}
b[addr1]=true;
addr1=ar[addr1];
}
if(addr2!=-1)
{
if(b[addr2])
{
icom=addr2;
break;
}
b[addr2]=true;
addr2=ar[addr2];
}
}
if(icom>0) printf("%05d",icom);
else printf("-1");
}
int main()
{
// freopen("test.in","r",stdin);
CA *a=new CA;
a->run();
return 0;
}