#include <cstdio>
#include <queue>
using namespace std;
struct Node{
char data;
int next;
bool flag = false;
}nodes[100010];
int main(){
int addr1, addr2, N, i;
scanf("%d %d %d", &addr1, &addr2, &N);
int addr, next;
char data;
for(i = 0; i < N; i++){
scanf("%d %c %d", &addr, &data, &next);
nodes[addr].data = data;
nodes[addr].next = next;
}
for(i = addr1; i != -1; i = nodes[i].next)
nodes[i].flag = true;
for(i = addr2; i != -1; i = nodes[i].next){
if(nodes[i].flag)
break;
}
if(i == -1)
printf("-1\n");
else
printf("%05d\n", i);
return 0;
}