#include <iostream>
#include <cstdio>
using namespace std;
struct node{
char data;
int next;
bool flag;
}Node[100005];
int first1,first2,N;
int main() {
for(int i =0;i<100005;i++){
Node[i].flag= false;
}
cin>>first1>>first2>>N;
int address;
for(int i=0;i<N;i++){
cin>>address;
cin>>Node[address].data>>Node[address].next;
}
int p =first1;
for(p=first1;p!=-1;p=Node[p].next){
Node[p].flag=true;
}
int q = first2;
for(q=first2;q!=-1;q=Node[q].next){
if(Node[q].flag) {
printf("%05d",q);
return 0;
}
}
cout<<"-1";
return 0;
}