/*
T = 1
def init():
global T
T = _I()
def psl(a,b,x,y):
if a-b < x-y:
return psl(x,y,a,b)[::-1]
for s in _R(1,10**7):
t=b*s//y+1
if (a*s>x*t):
return s,t
return -1,-1
def solve():
N = _I()
A = _L()
B = _L()
p = max([(A[i]-B[i],i) for i in _R(N)])
q = min([(A[i]-B[i],i) for i in _R(N)])
yn(p[0] != q[0])
if p[0] != q[0]:
x,y = psl(A[p[1]],B[p[1]],A[q[1]],B[q[1]])
k = [0]*N
k[p[1]] = x
k[q[1]] = -y
print(*k)
import sys
import math
from copy import deepcopy as dc
sys.setrecursionlimit(10 ** 6)
from collections import defaultdict as dd
import heapq
from itertools import permutations as per
_S = input;_R = range;_P = print; _E = enumerate;
def _RR(a): return range(a-1,-1,-1)
def _I(): return int(_S())
def _M(): return map(int, _S().split())
def _SS(): return _S().strip().split()
def _L(): return list(_M())
def _LS(): return list(_S())
def _T(): return tuple(_M())
def yn(b): print("Yes" if b else "No")
*/
#include <bits/stdc++.h>
using namespace std;
#define int long long
int T = 1;
int _I() {
int x;
cin >> x;
return x;
}
vector<int> _L(int N) {
vector<int> a(N);
for (int i = 0; i < N; ++i) cin >> a[i];
return a;
}
void yn(bool b) {
cout << (b ? "Yes" : "No") << endl;
}
// Direct translation of the Python `psl` function
pair<int, int> psl(int a, int b, int x, int y) {
if (a - b < x - y) {
auto res = psl(x, y, a, b);
return {res.second, res.first}; // reverse
}
for (int s = 1; s < 10000000; ++s) {
int t = b * s / y + 1;
if (a * s > x * t) {
return {s, t};
}
}
return {-1, -1};
}
void solve() {
int N = _I();
vector<int> A = _L(N);
vector<int> B = _L(N);
pair<int, int> p = {-1e18, -1}, q = {1e18, -1};
for (int i = 0; i < N; ++i) {
int diff = A[i] - B[i];
if (diff > p.first) p = {diff, i};
if (diff < q.first) q = {diff, i};
}
yn(p.first != q.first);
if (p.first != q.first) {
auto [x, y] = psl(A[p.second], B[p.second], A[q.second], B[q.second]);
vector<int> k(N, 0);
k[p.second] = x;
k[q.second] = -y;
for (int i = 0; i < N; ++i) cout << k[i] << " ";
cout << endl;
}
}
signed main() {
// INIT
T = _I();
for (int i = 0; i < T; ++i) solve();
return 0;
}