#include #include using namespace std; const int MAX_N = 100010; int c[MAX_N]; int r1[MAX_N], r2[MAX_N]; int main() { int n, k, x; cin >> n >> k >> x; for (int i = 0; i < n; i++) { r1[i] = i; } for (int i = 0; i < k; i++) { string s1, s2; cin >> s1 >> s2; if (i == x - 1) { for (int j = 0; j < n; j++) { r2[j] = r1[j]; } continue; } int a = stoi(s1), b = stoi(s2); swap(r1[a - 1], r1[b - 1]); } for (int i = 0; i < n; i++) { cin >> c[i]; c[i]--; } int w1, w2; for (int i = 0; i < n; i++) { if (r1[i] != c[i]) { w1 = r1[i]; w2 = c[i]; } } int ans1 = 0, ans2 = 0; for (int i = 0; i < n; i++) { if (r2[i] == w1) ans1 = i + 1; else if (r2[i] == w2) ans2 = i + 1; } if (ans1 > ans2) swap(ans1, ans2); cout << ans1 << " " << ans2 << endl; return 0; }