#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define pb push_back #define fst first #define snd second typedef long long ll; typedef pair pii; template using min_queue=priority_queue,greater >; const ll MOD=1e9+7; int N,M; int xs[200100]; ll pops[200100]; int ys[200100]; int rs[200100]; vector evs; ll dp[200100]; unordered_map pop; unordered_set used; int main(){ ios::sync_with_stdio(0);cin.tie(0); cin>>N; for(int i=0;i>pops[i]; for(int i=0;i>xs[i]; if(!used.count(xs[i])) evs.pb({xs[i],0}); used.insert(xs[i]); pop[xs[i]]+=pops[i]; } cin>>M; for(int i=1;i<=M;i++) cin>>ys[i]; for(int i=1;i<=M;i++) cin>>rs[i]; for(int i=1;i<=M;i++){ evs.pb({ys[i]-rs[i],-i}); evs.pb({ys[i]+rs[i],i}); } sort(evs.begin(),evs.end()); set cur; ll total=0; for(auto pr:evs){ int x=pr.fst,k=pr.snd; // cout<<'\t'<0){ cur.erase(k); }else{ if(cur.size()==1){ dp[*cur.begin()]+=pop[x]; // cout<<*cur.begin()<<' '<