T = int(input()) for _ in range(T): N = int(input()) R = list(map(int,input().split())) C = list(map(int,input().split())) if N == 1: print(1) elif N == 2: print(-1) else: if max(C) == min(C): if N <= 4: print(-1) else: A = [[R[i] for j in range(N)] for i in range(N)] for i in range(N): A[i][i] = C[0] for i in range(N): if R[i] == C[0]: A[(i+1)%N][i] = C[0] break for i in A: print(*i) else: A = [[R[i] for j in range(N)] for i in range(N)] P = [-1 for i in range(N)] for i in range(N): P[R[i]-1] = i L = [(C[i],i) for i in range(N)] L.sort(reverse = True) X = [-1 for i in range(N)] for i in range(N): X[P[i]] = (L[i]) for i in range(N): if X[i][0] == R[i]: x = i for j in range(N): if X[j][0] != X[x][0]: X[j],X[x] = X[x],X[j] break break for i in range(N): A[i][X[i][1]] = X[i][0] for i in A: print(*i)