#include using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; using pii = pair; using pll = pair; using vll = vector; const ll INF = LLONG_MAX / 4; bool chmin(auto& a, const auto& b) { return a > b ? a = b, 1 : 0; } bool chmax(auto& a, const auto& b) { return a < b ? a = b, 1 : 0; } auto sz(const auto& a) { return ssize(a); } #define OVERLOAD_REP(a, b, c, d, name, ...) name #define rep(...) OVERLOAD_REP(__VA_ARGS__, REP3, REP2, REP1, REP0)(__VA_ARGS__) #define REP0(x) for (ll _rep_counter = 0; _rep_counter < (x); ++_rep_counter) #define REP1(i, x) for (ll i = 0; (i) < (x); ++(i)) #define REP2(i, l, r) for (ll i = (l); (i) < (r); ++(i)) #define REP3(i, l, r, c) for (ll i = (l); ((c) > 0 ? (i) < (r) : (i) > (r)); i += (c)) #define each(x,a) for (auto&& x : a) #define MOD 998244353 #define ll0 ((ll)0) void solve() { ll t; cin >> t; rep(t) { ll n; cin >> n; vll r(n); rep(i, n) { cin >> r[i]; r[i]--; } vll c(n); rep(i, n) { cin >> c[i]; c[i]--; } if(n == 1) { cout << 1 << endl; continue; } if(n == 2) { cout << -1 << endl; continue; } if(n == 3) { if(c[0] == c[1] && c[1] == c[2]) { cout << -1 << endl; continue; } if(c[0] != c[1] && c[1] != c[2] && c[2] != c[0]) { vector v(n, vll(n)); rep(i, n) rep(j, n) { v[i][j] = i; } rep(j, n) { v[(c[j]+1)%n][j] = c[j]; } rep(i, n) { rep(j, n) { cout << v[r[i]][j]+1 << " \n"[j==n-1]; } } continue; } ll k; if(c[0] == c[1]) k = 2; if(c[1] == c[2]) k = 0; if(c[2] == c[0]) k = 1; vector v(n, vll(n)); rep(i, n) rep(j, n) { v[i][j] = i; } ll banana = 0; rep(j, n) { if(j == k) { v[c[(j+1)%n]][j]=c[j]; } else { v[(c[j]+1+banana)%n][j] = c[j]; banana++; } } rep(i, n) { rep(j, n) { cout << v[r[i]][j]+1 << " \n"[j==n-1]; } } continue; } vector v(n, vll(n)); rep(i, n) rep(j, n) { v[i][j] = i; } vll cc(n, 0); bool banana = false; rep(j, n) { v[(c[j]+cc[c[j]]+1)%n][j] = c[j]; cc[c[j]]++; if(cc[c[j]] == n-1) { if(n <= 4) { cout << -1 << endl; banana = true; break; } } } if(banana) continue; rep(i, n) { rep(j, n) { cout << v[r[i]][j]+1 << " \n"[j==n-1]; } } } } int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); solve(); }