#include<bits/stdc++.h>
using namespace std;
struct node{
int r,l;
int sum;
};
node tree[2000000];
int m,n,a,b,k[500003];
char x;
int rson(int f){
return f*2+1;
}
int lson(int f){
return f*2;
}
void pushup(int id){
tree[id].sum=tree[rson(id)].sum+tree[lson(id)].sum;
}
void build(int id,int l,int r){
tree[id].r=r;
tree[id].l=l;
tree[id].sum=0;
if(l==r){
tree[id].sum=k[l];
return ;
}
int m=(l+r)/2;
build(lson(id),l,m);
build(rson(id),m+1,r);
pushup(id);
}
void update(int x,int add,int id){
if(tree[id].l==tree[id].r){
tree[id].sum+=add;
return ;
}
int m=(tree[id].l+tree[id].r)/2;
if(x<=m)update(x,add,lson(id));
else update(x,add,rson(id));
pushup(id);
}
int query(int l,int r,int id){
if(l<=tree[id].l&&tree[id].r<=r)return tree[id].sum;
int ans=0;
int m=(tree[id].l+tree[id].r)/2;
if(l<=m)ans+=query(l,r,lson(id));
if(m<r)ans+=query(l,r,rson(id));
return ans;
}
int main(){
scanf("%d%d",&n,&m);
build(1,1,n);
while(m--){
cin>>x;
scanf("%d%d",&a,&b);
if(x=='y')printf("%d\n",query(a,b,1));
else update(a,b,1);
}
return 0;
}