// g++ -std=c++11 -O3 -fmax-errors=1 #include using namespace std; #define int ll typedef long long ll; typedef long double dbl; typedef pair pii; typedef vector vi; #define X first #define Y second #define mp make_pair #define pb push_back #define all(c) begin(c), end(c) #define mem(c,v) memset(c, v, sizeof c) #define uni(c) c.resize(distance(c.begin(), unique(all(c)))) #define rep(i,n) for(ll i=0, _n=(n); i<_n; i++) #define rep1(i,n) for(ll i=1, _n=(n); i<=_n; i++) #define cout(d) cout << fixed << setprecision(d) #define err(x) cerr << #x << " = " << x << "\n" #define cases int _t_; cin >> _t_; rep1(_t,_t_) #define coutt cout << "Case " << _t << ": " #define io ios_base::sync_with_stdio (false); cin.tie(NULL); const dbl eps=1e-12, pi=acosl(-1); const ll inf=1e16, mod=1e9+7; const int N=2e6+10; #undef int int main() { #define int ll int n; cin >> n; vi p(n); rep(i,n) cin >> p[i]; vi x(n); rep(i,n) cin >> x[i]; vector vec(n); rep(i,n) vec[i]={x[i],p[i]}; sort(all(vec)); rep(i,n) tie(x[i],p[i])=vec[i]; int m; cin >> m; vi y(m); rep(i,m) cin >> y[i]; vi r(m); rep(i,m) cin >> r[i]; vector q; rep(i,m) q.pb({y[i]-r[i], -i-1}); rep(i,m) q.pb({y[i]+r[i], +i+1}); sort(all(q)); int i=0, j=0, ans=0, SZ; set cur; map cl; while(j<2*m) { int k=j, pos=q[j].X; SZ=cur.size(); while(i