# -*- coding: utf-8 -*- N,K,X = map(int, input().split()) A = [] B = [] for i in range(K): a,b = input().split() if a=='?': A.append(a) B.append(b) else: A.append(int(a)) B.append(int(b)) C = list(map(int, input().split())) first = list(range(N+1)) latter = [0] for c in C: latter.append(c) for i in range(K): if A[i] == '?': break temp = first[A[i]] first[A[i]] = first[B[i]] first[B[i]] = temp for i in range(K-1, -1, -1): if A[i] == '?': break temp = latter[A[i]] latter[A[i]] = latter[B[i]] latter[B[i]] = temp x1 = x2 = 0 for i in range(1, N+1): if first[i] != latter[i]: if x1 == 0: x1 = i else: x2 = i break print(x1, x2)