#include void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void disp(int a[], int k) { int i; for(i = 1;i <= k;i++){ printf("%d ", a[i]); } printf("\n"); } int main(void) { int n, k ,x; int s1[100001] = {0}; int s2[100001] = {0}; int s3[100001] = {0}; char a[10], b[10]; int c[100001] = {0}; int i, i1, j; int diff[2]; scanf("%d%d%d", &n, &k, &x); for(i = 1;i <= n;i++){ s1[i] = i; } //disp(s1, n); for(i = 0;i < k;i++){ scanf("%s%s", a, b); //printf("%s %s\n", a, b); if(a[0] == '?'){ break; } swap(&s1[atoi(a)], &s1[atoi(b)]); //disp(s1, n); //printf("%d\n", atoi(a)); } i1 = i; //printf("\n"); for(i = 1;i <= n;i++){ s2[i] = i; } //disp(s2, n); for(i = i1 + 1;i < k;i++){ scanf("%s%s", a, b); //printf("%s %s\n", a, b); swap(&s2[atoi(a)], &s2[atoi(b)]); //disp(s2, n); //printf("%d\n", atoi(a)); } for(i = 1;i <= n;i++){ scanf("%d\n", &c[i]); s3[s2[i]] = c[i]; } //disp(s3, n); j = 0; for(i = 1;i <= n;i++){ if(s1[i] != s3[i]){ diff[j] = i; j++; } } printf("%d %d\n", diff[0], diff[1]); return 0; }