#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=5e5+4105,SN=710;
int n,m;
int a[N],book[N];
int len,l[SN+5],r[SN+5],id[N+5],sum[SN+5],cnt[SN+5];
int read()
{
int x=0,f=1;
char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
while(isdigit(ch)){x=x*10+ch-48;ch=getchar();}
return x*f;
}
char op[2],x,y;
void upd1(int pos,int val)
{
if(!book[pos])
book[pos]=1,cnt[id[pos]]++;
int cha=val-a[pos];
a[pos]=val;
sum[id[pos]]+=cha;
}
void upd2(int kth)
{
int now=1;
while(kth)
{
if(kth-cnt[now]<=0)
{
cnt[now]--;
for(int i=l[now];i<=r[now];i++)
{
kth-=book[i];
if(!kth)
{
book[i]=0;
sum[now]-=a[i];
a[i]=0;
return;
}
}
break;
}
kth-=cnt[now];
now++;
if(now>SN)
break;
}
}
int query()
{
int res=0;
for(int i=1;i<=SN;i++)
res+=sum[i];
return res;
}
signed main()
{
n=read(),m=read();
for(int i=1;i<=n;i++)
a[i]=read(),book[i]=1;
for(int i=1;i<=SN;i++)
{
l[i]=(i-1)*SN+1,r[i]=i*SN;
for(int j=l[i];j<=r[i];j++)
sum[i]+=a[j],id[j]=i,cnt[i]+=book[i];
}
while(m--)
{
scanf("%s",op);
if(op[0]=='C')
{
x=read(),y=read();
upd1(x,a[x]-y);
}
else if(op[0]=='I')
{
x=read(),y=read();
upd1(x,y);
}
else if(op[0]=='D')
{
x=read();
upd2(x);
}
else
printf("%lld\n",query());
}
return 0;
}