#include using namespace std; int main() { int N, K, X; int C[100000]; int D[100000]; int E[100000]; cin >> N >> K >> X; --X; for(int i = 0; i < N; i++) { C[i] = i; } for(int i = 0; i < K; i++) { if(i == X) { string a, b; cin >> a >> b; for(int j = 0; j < N; j++) { E[C[j]] = j; } } else { int A, B; cin >> A >> B; swap(C[--A], C[--B]); } } for(int i = 0; i < N; i++) { cin >> D[i]; --D[i]; } vector< int > fault; for(int i = 0; i < N; i++) { if(C[i] != D[i]) fault.push_back(D[i]); } auto p = minmax(E[fault[0]], E[fault[1]]); cout << p.first + 1 << " " << p.second + 1 << endl; }