#include using namespace std; int t, n; int a[10005]; int b[10005]; int par[10005]; bool viz[10005]; vector v[10005]; bool tryMatch(int p, int avoid=-1) { if(viz[p]) return false; viz[p] = true; for(int it : v[p]) { if(it == avoid) continue; if(par[it] == 0) { par[p] = it; par[it] = p; return true; } } for(int it : v[p]) { if(it == avoid) continue; if(tryMatch(par[it], it)) { par[p] = it; par[it] = p; return true; } } return false; } int match() { int ans = 0; bool ok = true; for(int i=1;i<=2*n;i++) par[i] = 0; while(ok) { ok = false; for(int i=1;i<=n;i++) viz[i] = false; for(int i=1;i<=n;i++) { if(par[i] || viz[i]) continue; if(tryMatch(i)) { ans++; ok = true; } } } return ans; } bool ok(int minDif) { for(int i=1;i<=n;i++) v[i].clear(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(abs(a[i] - b[j]) >= minDif) { //cout<<"m add "<>t; while(t) { t--; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) cin>>b[i]; //cout<