#include <string>
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,q;//n:number of empolyees hires//q:number of queries
scanf("%d%d\n", &n, &q);
int office[n];
int result[q];
int l = 0;
memset(office, 0 ,sizeof(office));
for(int i = 0; i < q; i++){
string query;
getline(cin, query); //add P F // find A B
int FirstSpace = query.find(" ");
int SecondSpace = query.find(" ", FirstSpace+1);
//spliting the strinf
string ty = query.substr(0, 4);
string ff_num = query.substr(FirstSpace+1, 1);
string ss_num = query.substr(SecondSpace+1, 1);
//conveting string to integer
int f_num = atoi(ff_num.c_str());
int s_num = atoi(ss_num.c_str());
if(ty == "add ") {
office[f_num] += s_num;
}
else if(ty == "find") {
int sum = 0;
for(int t = f_num; t <= s_num; t++) {
sum += office[t];
}
result[l] = sum;
l++;
}
}
for(int i = 0; i < l; i++)
printf("%d\n", result[i]);
return 0;
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAKICBpbnQgbixxOy8vbjpudW1iZXIgb2YgZW1wb2x5ZWVzIGhpcmVzLy9xOm51bWJlciBvZiBxdWVyaWVzCiAgc2NhbmYoIiVkJWRcbiIsICZuLCAmcSk7CiAgaW50IG9mZmljZVtuXTsKICBpbnQgcmVzdWx0W3FdOwogIGludCBsID0gMDsKICBtZW1zZXQob2ZmaWNlLCAwICxzaXplb2Yob2ZmaWNlKSk7CiAgZm9yKGludCBpID0gMDsgaSA8IHE7IGkrKyl7CiAgICBzdHJpbmcgcXVlcnk7CiAgICBnZXRsaW5lKGNpbiwgcXVlcnkpOyAvL2FkZCBQIEYgLy8gZmluZCBBIEIKICAgIGludCBGaXJzdFNwYWNlID0gcXVlcnkuZmluZCgiICIpOyAKICAgIGludCBTZWNvbmRTcGFjZSA9IHF1ZXJ5LmZpbmQoIiAiLCBGaXJzdFNwYWNlKzEpOwogICAgLy9zcGxpdGluZyB0aGUgc3RyaW5mCiAgICBzdHJpbmcgdHkgPSBxdWVyeS5zdWJzdHIoMCwgNCk7CiAgICBzdHJpbmcgZmZfbnVtID0gcXVlcnkuc3Vic3RyKEZpcnN0U3BhY2UrMSwgMSk7CiAgICBzdHJpbmcgc3NfbnVtID0gcXVlcnkuc3Vic3RyKFNlY29uZFNwYWNlKzEsIDEpOwogICAgLy9jb252ZXRpbmcgc3RyaW5nIHRvIGludGVnZXIKICAgIGludCBmX251bSA9IGF0b2koZmZfbnVtLmNfc3RyKCkpOwogICAgaW50IHNfbnVtID0gYXRvaShzc19udW0uY19zdHIoKSk7CgogICAgICBpZih0eSA9PSAiYWRkICIpIHsKICAgICAgICBvZmZpY2VbZl9udW1dICs9IHNfbnVtOwogICAgICB9CgogICAgICBlbHNlIGlmKHR5ID09ICJmaW5kIikgewogICAgICAgIGludCBzdW0gPSAwOwogICAgICAgICAgZm9yKGludCB0ID0gZl9udW07IHQgPD0gc19udW07IHQrKykgewogICAgICAgICAgICBzdW0gKz0gb2ZmaWNlW3RdOwogICAgICAgICAgfQogICAgICAgIHJlc3VsdFtsXSA9IHN1bTsKICAgICAgICBsKys7CiAgICAgIH0KICB9CiAgZm9yKGludCBpID0gMDsgaSA8IGw7IGkrKykKICAgIHByaW50ZigiJWRcbiIsIHJlc3VsdFtpXSk7CgogIHJldHVybiAwOwp9