#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5,B=317,M=B+5;
int n,a[N],b[N],q;
int op[N],x[N],k[N];
int ans[N];
struct ds1{
int v[N],s[M];
void upd(int x,int k){
v[x]+=k;
s[x/B]+=k;
}
int que(int x){
int bx=x/B;
int ans=0;
for(int i=0;i<bx;i++){
ans+=s[i];
}
for(int i=bx*B;i<=x;i++){
ans+=v[i];
}
return ans;
}
}t1;
struct ds{
int oa[N],ob[N];
int va[N],vb[N],cnta,cntb;
int ra[N],rb[N];
int t[N];
void init(){
*this=ds();
memcpy(oa,a,sizeof(a));
memcpy(ob,b,sizeof(b));
}
void build(int l,int r){
init();
for(int i=l;i<=r;i++){
if(op[i]==1){
int p=x[i],w=k[i];
int v=min(a[p],a[p]+w);
a[p]+=w;
if(!va[v]){
va[v]=++cnta;
ra[cnta]=v;
}
}
if(op[i]==2){
int p=x[i],w=k[i];
int v=min(b[p],b[p]+w);
b[p]+=w;
if(!vb[v]){
vb[v]=++cntb;
rb[cntb]=v;
}
}
if(op[i]==3){
int p=x[i];
t[p]=1;
}
}
for(int i=1;i<=n;i++){
if(t[i]==1) continue;
if(!va[oa[i]]&&!vb[ob[i]]) t[i]=2;
if(va[oa[i]]&&vb[ob[i]]) t[i]=3;
if(!va[oa[i]]&&vb[ob[i]]) t[i]=4;
if(va[oa[i]]&&!vb[ob[i]]) t[i]=5;
}
}
};
signed main(){
ios::sync_with_stdio(0),cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
cin>>b[i];
}
cin>>q;
for(int i=1;i<=n;i++){
cin>>op[i]>>x[i];
if(op[i]<=2){
char w;
cin>>w;
if(w=='+') k[i]=1;
else k[i]=-1;
}
}
}








what a f*ck is this ?