#include <bits/stdc++.h>
using namespace std;
const int SIZE = 100002;
struct elem {
  int x, y, z;
};
int a[SIZE * 3], b[SIZE * 3], l[SIZE * 3], r[SIZE * 3] = {0}, t1, t2, t3;
elem team[SIZE];
vector<int> c, d;
int main() {
  int n, k, i;
  cin >> n;
  for (i = 0; i < 3 * n; i++) {
    cin >> a[i];
    l[a[i]] = i;
  }
  for (i = 0; i < n; i++) {
    cin >> team[i].x >> team[i].y >> team[i].z;
    b[l[team[i].x]] = i;
    b[l[team[i].y]] = i;
    b[l[team[i].z]] = i;
  }
  cin >> k;
  for (i = 0; i < n; i++) {
    if (team[i].x == k) {
      t1 = k;
      t2 = team[i].y;
      t3 = team[i].z;
    }
    if (team[i].y == k) {
      t1 = k;
      t2 = team[i].x;
      t3 = team[i].z;
    }
    if (team[i].z == k) {
      t1 = k;
      t2 = team[i].x;
      t3 = team[i].y;
    }
  }
  int max_ = (max(t2, t3));
  if (l[t1] > l[t2] || l[t1] > l[t2]) {
    for (int i = 1; i <= 3 * n; i++)
      if (i != k) cout << i << ' ';
    return 0;
  }
  int t = 0;
  for (i = 0; i < 3 * n; i++) {
    if (t == 1 || team[b[i]].x > max_) {
      if (!r[team[b[i]].x] && team[b[i]].x != k) {
        d.push_back(team[b[i]].x);
        r[team[b[i]].x] = 1;
      }
    } else if (!r[team[b[i]].x] && team[b[i]].x != k) {
      c.push_back(team[b[i]].x);
      r[team[b[i]].x] = 1;
    }
    if (t == 1 || team[b[i]].y > max_) {
      if (!r[team[b[i]].y] && team[b[i]].y != k) {
        d.push_back(team[b[i]].y);
        r[team[b[i]].y] = 1;
      }
    } else if (!r[team[b[i]].y] && team[b[i]].y != k) {
      c.push_back(team[b[i]].y);
      r[team[b[i]].y] = 1;
    }
    if (t == 1 || team[b[i]].z > max_) {
      if (!r[team[b[i]].z] && team[b[i]].z != k) {
        d.push_back(team[b[i]].z);
        r[team[b[i]].z] = 1;
      }
    } else {
      if (!r[team[b[i]].z] && team[b[i]].z != k) {
        c.push_back(team[b[i]].z);
        r[team[b[i]].z] = 1;
      }
    }
    if (a[i] == k) t = 1;
  }
  sort(c.begin(), c.end());
  sort(d.begin(), d.end());
  for (int j = 0; j < c.size(); j++) cout << c[j] << ' ';
  for (int j = 0; j < d.size(); j++) cout << d[j] << ' ';
}
