#include <bits/stdc++.h>
using namespace std;
int main() {
  int T;
  cin >> T;
  stringstream R;
  for (int t = 0; t < T; t++) {
    int n, m;
    cin >> n >> m;
    int rows[n][m];
    int columns[m][n];
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) cin >> rows[i][j];
    }
    for (int i = 0; i < m; i++)
      for (int j = 0; j < n; j++) cin >> columns[i][j];
    int RowX[n * m + 1], ColumnX[n * m + 1];
    for (int i = 0; i < n; i++)
      for (int j = 0; j < m; j++) ColumnX[rows[i][j]] = j;
    for (int i = 0; i < m; i++)
      for (int j = 0; j < n; j++) RowX[columns[i][j]] = j;
    int matrix[n][m];
    for (int i = 1; i <= n * m; i++) matrix[RowX[i]][ColumnX[i]] = i;
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < m; j++) R << matrix[i][j] << " ";
      R << "\n";
    }
  }
  cout << R.str();
}
