#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1008610;
int n,w;
int x,y;
int m[maxn];
int A[maxn];
int num;
int segment_tree[maxn<<2],add[maxn<<2];
void pushup(ll num)
{
segment_tree[num] = segment_tree[num<<1] + segment_tree[num<<1];
}
void build(ll l,ll r,ll num)
{
if(l == r)
{
segment_tree[num] = A[l];
return;
}
ll m = (l + r) >> 1;
build(l,m,num << 1);
build(m+1,r,num << 1|1);
}
void pushdown(ll num,ll cnt_l,ll cnt_r)
{
if(add[num])
{
add[num << 1] += add[num];
add[num << 1|1] += add[num];
segment_tree[num << 1] += add[num] * cnt_l;
segment_tree[num << 1 | 1] += add[num] * cnt_r;
add[num] = 0;
}
}
ll query(ll L,ll R,ll l,ll r,ll num)
{
if(L <= l && r <= R){
return segment_tree[num];
}
ll m = (l + r) >> 1;
pushdown(num,m - l + 1,r - m);
ll ANS = 0;
if(L <= m) ANS += query(L,R,l,m,num << 1);
if(R > m) ANS += query(L,R,m+1,r,num << 1 | 1);
return ANS;
}
int main()
{
cin >> n >> w;
string c;
build(1,n,1);
ll num;
for(int i = 1;i <= w;i++)
{
cin >> c;
if(c == "x")
{
cin >> x >> y;
m[x] += y;
}
else if(c == "y")
{
cin >> x >> y;
cout << query(x,y,1,n,1);
}
}
return 0;
}