#include #include using namespace std; using namespace atcoder; using ll = long long; #define all(x) x.begin(), x.end() #define rep(i, limit) for (int i = 0; i < (int)limit; i++) constexpr char nl = '\n'; constexpr int INF = 1'000'000'000; constexpr ll LINF = 2'000'000'000'000'000'000LL; template bool chmin(T& a, T b){if(a > b){a = b; return true;} return false;} template bool chmax(T& a, T b){if(a < b){a = b; return true;} return false;} int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int Q;cin >> Q; for(;Q--;){ int N;cin >> N; if(N == 2){ cout << -1 << nl; continue; } vectorC(N),R(N); rep(i,N)cin >> R[i]; rep(i,N)cin >> C[i]; vector>ans(N+1,vector(N+1)); for(int i = 0; i < N; i++)for(int j = 0; j < N; j++){ if(min(C[j],R[i]) == 1 && max(C[j],R[i]) == N)ans[i][j] = N; else ans[i][j] = min(C[j],R[i]); } rep(i,N){ rep(j,N){ cout << ans[i][j] << " "; } cout << nl; } } }