#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,n) for(int i = 0; n > i; i++) #define MODU 33 #define Range(x,a,b) ((a) <= (x) && (x) <= (b)) #define POWT(x) ((x)*(x)) #define ALL(x) (x).begin(), (x).end() #define C_D(c) ((c) - '0') #define D_C(d) ((d) + '0') using namespace std; typedef vector Ivec; typedef pair pii; typedef long long int ll; int main() { int n, k, x; scanf("%d %d %d", &n, &k, &x); vector num(n),ans(n),tot(n); REP(i, n) { num[i] = i + 1; } REP(i, k) { int a, b; if (i == (x - 1)) { scanf("%*s %*s"); tot = num; continue; } scanf("%d %d", &a, &b); a--; b--; int t = num[a]; num[a] = num[b]; num[b] = t; } REP(i, n) { scanf("%d", &ans[i]); } vector ch; REP(i, n) { if (num[i] != ans[i]) { ch.push_back(num[i]); } } bool f = 0; REP(i, n) { if (tot[i] == ch[0] || tot[i] == ch[1]) { printf("%d",i+1); if (!f)printf(" "); f = 1; } } printf("\n"); return 0; }