def getStrValues(): return input().split() def getIntValues(): return map(int, getStrValues()) n, k, x = getIntValues() ar1 = [i for i in range(0, n + 1)] ar2 = [i for i in range(0, n + 1)] for i in range(1, k + 1): if i < x: a, b = getIntValues() ar1[a], ar1[b] = ar1[b], ar1[a] ar2[a], ar2[b] = ar2[b], ar2[a] elif i > x: a, b = getIntValues() ar2[a], ar2[b] = ar2[b], ar2[a] else: getStrValues() c = list(getIntValues()) df = [] for i in range(n): if c[i] != ar2[i + 1]: df.append(c[i]) ans = [] for d in df: for i in range(n + 1): if ar1[i] == d: ans.append(i) break print(*sorted(ans))