#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=500005;
int n,m,sum;
int a[N],l[N],r[N],be[N],gs[N];
bool vis[N];
signed main()
{
cin>>n>>m;
int t=sqrt(N*1.0);
int s=N/t;
if(N%t!=0)
s++;
for(int i=1;i<=N;i++)
{
l[i]=(i-1)*t+1;
r[i]=i*t;
}
r[s]=N;
for(int i=1;i<=n;i++)
{
cin>>a[i];
sum+=a[i];
vis[i]=1;
be[i]=(i-1)/t+1;
gs[be[i]]++;
}
while(m--)
{
char o;
cin>>o;
if(o=='Q')
cout<<sum<<endl;
if(o=='D')
{
int x,k=1,t;
cin>>x;
while(x-gs[k]>0)
{
x-=gs[k];
k++;
}
gs[k]--;
for(int i=l[k];i<=r[k];i++)
{
if(vis[i])
{
x--;
if(x<1)
{
t=i;
break;
}
}
}
n--;
vis[t]=0;
sum-=a[t];
a[t]=0;
}
if(o=='C')
{
int x,y,k=1,t;
cin>>x>>y;
while(x-gs[k]>0)
{
x-=gs[k];
k++;
}
for(int i=l[k];i<=r[k];i++)
{
if(vis[i])
{
x--;
if(x<1)
{
t=i;
break;
}
}
}
a[t]-=y;
sum-=y;
}
if(o=='I')
{
int x,y,k=1,t;
bool f=1;
cin>>x>>y;
if(x>n)
{
x--;
f=0;
}
while(x-gs[k]>0)
{
x-=gs[k];
k++;
}
for(int i=l[k];i<=r[k];i++)
{
if(vis[i])
{
x--;
if(x<1)
{
t=i;
break;
}
}
}
if(!f)
{
t++;
gs[be[t]]++;
}
vis[t]=1;
sum-=a[t];
a[t]=y;
sum+=a[t];
}
}
return 0;
}