#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll lim=1e5;
ll n,m,k;
vector<vector<ll>> pos,BIT;
vector<ll> posx;
map<pair<ll,ll>,ll> mp;
struct{
char type;
ll x,y,x1,y1,val;
}LK[lim];
inline ll U(ll u){
return lower_bound(posx.begin(),posx.end(),u)-posx.begin();
}
inline ll V(ll u,ll i){
return lower_bound(pos[i].begin(),pos[i].end(),u)-pos[i].begin();
}
inline void fakeadd(ll u,ll v){
u=U(u);
for (;u<pos.size();u+=u&-u)
pos[u].push_back(v);
}
inline void fakequery(ll u,ll v){
u=U(u);
for (;u>0;u-=u&-u)
pos[u].push_back(v);
}
inline void fakegetquery(ll x,ll y,ll x1,ll y1){
fakequery(x1,y1);
fakequery(x-1,y1);
fakequery(x1,y-1);
fakequery(x-1,y-1);
}
void setup(){
for (ll i=1;i<=k;i++){
cin>>LK[i].type;
if (LK[i].type=='S'){
cin>>LK[i].x>>LK[i].y>>LK[i].val;
posx.push_back(LK[i].x);
}
else{
cin>>LK[i].x>>LK[i].y>>LK[i].x1>>LK[i].y1;
posx.push_back(LK[i].x-1);
posx.push_back(LK[i].x1);
}
}
posx.push_back(-1);
sort(posx.begin(),posx.end());
posx.erase(unique(posx.begin(),posx.end()),posx.end());
BIT.resize(posx.size(),{});
pos.resize(posx.size(),{});
for (ll i=1;i<=k;i++){
if (LK[i].type=='S') fakeadd(LK[i].x,LK[i].y);
else fakegetquery(LK[i].x,LK[i].y,LK[i].x1,LK[i].y1);
}
for (ll i=1;i<pos.size();i++){
pos[i].push_back(-1);
sort(pos[i].begin(),pos[i].end());
pos[i].erase(unique(pos[i].begin(),pos[i].end()),pos[i].end());
BIT[i].resize(pos[i].size(),0);
}
}
inline void update(ll u,ll v,ll val){
u=U(u);
for (ll i=u;i<pos.size();i+=i&-i)
for (ll j=V(v,i);j<pos[i].size();j+=j&-j)
BIT[i][j]+=val;
}
inline ll get(ll u,ll v){
ll res=0;
u=U(u);
for (ll i=u;i>0;i-=i&-i)
for (ll j=V(v,i);j>0;j-=j&-j)
res+=BIT[i][j];
return res;
}
inline ll query(ll x1,ll y1,ll x2,ll y2){
return (get(x2,y2)-get(x2,y1-1)-get(x1-1,y2)+get(x1-1,y1-1));
}
int main(){
cin.tie(nullptr)->sync_with_stdio(0);
#define F "query"
if (ifstream(F".inp")){
freopen(F".inp","r",stdin);
freopen(F".out","w",stdout);
}
cin>>n>>m>>k;
setup();
for (ll i=1;i<=k;i++){
if(LK[i].type=='S'){
if (mp.count({LK[i].x,LK[i].y}))
LK[i].val-=mp[{LK[i].x,LK[i].y}];
update(LK[i].x,LK[i].y,LK[i].val);
mp[{LK[i].x,LK[i].y}]+=LK[i].val;
}
else{
cout<<query(LK[i].x,LK[i].y,LK[i].x1,LK[i].y1)<<"\n";
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCmNvbnN0IGxsIGxpbT0xZTU7CmxsIG4sbSxrOwp2ZWN0b3I8dmVjdG9yPGxsPj4gcG9zLEJJVDsKdmVjdG9yPGxsPiBwb3N4OwptYXA8cGFpcjxsbCxsbD4sbGw+IG1wOwpzdHJ1Y3R7CiAgICBjaGFyIHR5cGU7CiAgICBsbCB4LHkseDEseTEsdmFsOwp9TEtbbGltXTsKaW5saW5lIGxsIFUobGwgdSl7CiAgICByZXR1cm4gbG93ZXJfYm91bmQocG9zeC5iZWdpbigpLHBvc3guZW5kKCksdSktcG9zeC5iZWdpbigpOwp9CmlubGluZSBsbCBWKGxsIHUsbGwgaSl7CiAgICByZXR1cm4gbG93ZXJfYm91bmQocG9zW2ldLmJlZ2luKCkscG9zW2ldLmVuZCgpLHUpLXBvc1tpXS5iZWdpbigpOwp9CmlubGluZSB2b2lkIGZha2VhZGQobGwgdSxsbCB2KXsKICAgIHU9VSh1KTsKICAgIGZvciAoO3U8cG9zLnNpemUoKTt1Kz11Ji11KQogICAgICAgIHBvc1t1XS5wdXNoX2JhY2sodik7Cn0KaW5saW5lIHZvaWQgZmFrZXF1ZXJ5KGxsIHUsbGwgdil7CiAgICB1PVUodSk7CiAgICBmb3IgKDt1PjA7dS09dSYtdSkKICAgICAgICBwb3NbdV0ucHVzaF9iYWNrKHYpOwp9CmlubGluZSB2b2lkIGZha2VnZXRxdWVyeShsbCB4LGxsIHksbGwgeDEsbGwgeTEpewogICAgZmFrZXF1ZXJ5KHgxLHkxKTsKICAgIGZha2VxdWVyeSh4LTEseTEpOwogICAgZmFrZXF1ZXJ5KHgxLHktMSk7CiAgICBmYWtlcXVlcnkoeC0xLHktMSk7Cn0Kdm9pZCBzZXR1cCgpewogICAgZm9yIChsbCBpPTE7aTw9aztpKyspewogICAgICAgIGNpbj4+TEtbaV0udHlwZTsKICAgICAgICBpZiAoTEtbaV0udHlwZT09J1MnKXsKICAgICAgICAgICAgY2luPj5MS1tpXS54Pj5MS1tpXS55Pj5MS1tpXS52YWw7CiAgICAgICAgICAgIHBvc3gucHVzaF9iYWNrKExLW2ldLngpOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBjaW4+PkxLW2ldLng+PkxLW2ldLnk+PkxLW2ldLngxPj5MS1tpXS55MTsKICAgICAgICAgICAgcG9zeC5wdXNoX2JhY2soTEtbaV0ueC0xKTsKICAgICAgICAgICAgcG9zeC5wdXNoX2JhY2soTEtbaV0ueDEpOwogICAgICAgIH0KICAgIH0KICAgIHBvc3gucHVzaF9iYWNrKC0xKTsKICAgIHNvcnQocG9zeC5iZWdpbigpLHBvc3guZW5kKCkpOwogICAgcG9zeC5lcmFzZSh1bmlxdWUocG9zeC5iZWdpbigpLHBvc3guZW5kKCkpLHBvc3guZW5kKCkpOwogICAgQklULnJlc2l6ZShwb3N4LnNpemUoKSx7fSk7CiAgICBwb3MucmVzaXplKHBvc3guc2l6ZSgpLHt9KTsKICAgIGZvciAobGwgaT0xO2k8PWs7aSsrKXsKICAgICAgICBpZiAoTEtbaV0udHlwZT09J1MnKSBmYWtlYWRkKExLW2ldLngsTEtbaV0ueSk7CiAgICAgICAgZWxzZSBmYWtlZ2V0cXVlcnkoTEtbaV0ueCxMS1tpXS55LExLW2ldLngxLExLW2ldLnkxKTsKICAgIH0KICAgIGZvciAobGwgaT0xO2k8cG9zLnNpemUoKTtpKyspewogICAgICAgIHBvc1tpXS5wdXNoX2JhY2soLTEpOwogICAgICAgIHNvcnQocG9zW2ldLmJlZ2luKCkscG9zW2ldLmVuZCgpKTsKICAgICAgICBwb3NbaV0uZXJhc2UodW5pcXVlKHBvc1tpXS5iZWdpbigpLHBvc1tpXS5lbmQoKSkscG9zW2ldLmVuZCgpKTsKICAgICAgICBCSVRbaV0ucmVzaXplKHBvc1tpXS5zaXplKCksMCk7CiAgICB9Cn0KaW5saW5lIHZvaWQgdXBkYXRlKGxsIHUsbGwgdixsbCB2YWwpewogICAgdT1VKHUpOwogICAgZm9yIChsbCBpPXU7aTxwb3Muc2l6ZSgpO2krPWkmLWkpCiAgICAgICAgZm9yIChsbCBqPVYodixpKTtqPHBvc1tpXS5zaXplKCk7ais9aiYtaikKICAgICAgICAgICAgQklUW2ldW2pdKz12YWw7Cn0KCmlubGluZSBsbCBnZXQobGwgdSxsbCB2KXsKICAgIGxsIHJlcz0wOwogICAgdT1VKHUpOwogICAgZm9yIChsbCBpPXU7aT4wO2ktPWkmLWkpCiAgICAgICAgZm9yIChsbCBqPVYodixpKTtqPjA7ai09aiYtaikKICAgICAgICAgICAgcmVzKz1CSVRbaV1bal07CiAgICByZXR1cm4gcmVzOwp9CmlubGluZSBsbCBxdWVyeShsbCB4MSxsbCB5MSxsbCB4MixsbCB5Mil7CiAgICByZXR1cm4gKGdldCh4Mix5MiktZ2V0KHgyLHkxLTEpLWdldCh4MS0xLHkyKStnZXQoeDEtMSx5MS0xKSk7Cn0KaW50IG1haW4oKXsKICAgIGNpbi50aWUobnVsbHB0ciktPnN5bmNfd2l0aF9zdGRpbygwKTsKICAgICNkZWZpbmUgRiAicXVlcnkiCiAgICBpZiAoaWZzdHJlYW0oRiIuaW5wIikpewogICAgICAgIGZyZW9wZW4oRiIuaW5wIiwiciIsc3RkaW4pOwogICAgICAgIGZyZW9wZW4oRiIub3V0IiwidyIsc3Rkb3V0KTsKICAgIH0KICAgIGNpbj4+bj4+bT4+azsKICAgIHNldHVwKCk7CiAgICBmb3IgKGxsIGk9MTtpPD1rO2krKyl7CiAgICAgICAgaWYoTEtbaV0udHlwZT09J1MnKXsKICAgICAgICAgICAgaWYgKG1wLmNvdW50KHtMS1tpXS54LExLW2ldLnl9KSkKICAgICAgICAgICAgICAgIExLW2ldLnZhbC09bXBbe0xLW2ldLngsTEtbaV0ueX1dOwogICAgICAgICAgICB1cGRhdGUoTEtbaV0ueCxMS1tpXS55LExLW2ldLnZhbCk7CiAgICAgICAgICAgIG1wW3tMS1tpXS54LExLW2ldLnl9XSs9TEtbaV0udmFsOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBjb3V0PDxxdWVyeShMS1tpXS54LExLW2ldLnksTEtbaV0ueDEsTEtbaV0ueTEpPDwiXG4iOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9ICAgICAgICA=