#include <bits/stdc++.h>
using namespace std;
int main() {
  int t;
  cin >> t;
  while (t--) {
    int n, m;
    cin >> n >> m;
    vector<vector<int> > a(n), b(m);
    for (int i = 0; i < n; i++) {
      a[i].resize(m);
      for (int j = 0; j < m; j++) cin >> a[i][j];
    }
    for (int j = 0; j < m; j++) {
      b[j].resize(n);
      for (int i = 0; i < n; i++) cin >> b[j][i];
    }
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) {
        if (a[i][0] == b[j][0]) {
          swap(a[0], a[i]);
          swap(b[0], b[j]);
          break;
        }
      }
    }
    for (int j = 0; j < n; j++) {
      for (int i = 0; i < n; i++) {
        if (a[i][0] == b[0][j]) {
          for (auto x : a[i]) cout << x << " ";
          cout << '\n';
          break;
        }
      }
    }
  }
}
