#include <bits/stdc++.h>
int dir[400000][2];
int num[400000];
int usa[400000];
int main() {
  int a[3];
  int i, j, k, n, nn;
  memset(usa, 0, sizeof(usa));
  scanf("%d", &n);
  nn = n * 3;
  for (i = 0; i < nn; i++) {
    scanf("%d", &num[i]);
  }
  for (i = 0; i < n; i++) {
    scanf("%d %d %d", &a[0], &a[1], &a[2]);
    dir[a[0]][0] = a[1];
    dir[a[0]][1] = a[2];
    dir[a[1]][0] = a[0];
    dir[a[1]][1] = a[2];
    dir[a[2]][0] = a[0];
    dir[a[2]][1] = a[1];
  }
  scanf("%d", &k);
  int ok = 1;
  for (i = 0; i < nn; i++) {
    if (num[i] == k) {
      if (usa[num[i]] == 1) break;
      usa[dir[num[i]][0]] = 2;
      usa[dir[num[i]][1]] = 2;
      ok = 0;
      break;
    }
    if (usa[num[i]] == 0) {
      usa[num[i]] = 1;
      usa[dir[num[i]][0]] = 1;
      usa[dir[num[i]][1]] = 1;
    }
  }
  if (ok) {
    for (i = 1; i <= nn; i++) {
      if (i != k) printf("%d ", i);
    }
  } else {
    ok = 0;
    for (i = 1; i <= nn && ok != 2; i++) {
      if (i != k) {
        if (usa[i] == 1) {
          printf("%d ", i);
          usa[i] = -1;
        }
        if (usa[i] == 2) {
          printf("%d ", i);
          ok++;
          usa[i] = -1;
        }
      }
    }
    for (i = 1; i <= nn; i++) {
      if (i != k) {
        if (usa[i] != -1) {
          printf("%d ", i);
        }
      }
    }
  }
}
