#include<iostream>
#define int long long
#define lowbit(x) x&(-x)
using namespace std;
const int N=2e3+100;
int f[N][N][4];
char op;
int n,m,a,b,c,d,k;
int update(int x,int y,int d){
for(int i=x;i<=n;i+=lowbit(i)){
for(int j=y;j<=m;j+=lowbit(j)){
f[i][j][0]+=d;
f[i][j][1]+=d*x;
f[i][j][2]+=d*y;
f[i][j][3]+=d*x*y;
}
}
}
int query(int x,int y,int d){
int ans=0;
for(int i=x;i;i-=lowbit(i)){
for(int j=y;j;j-=lowbit(j)){
ans+=f[i][j][d];
}
}
return ans;
}
int s(int x,int y){
return query(x,y,0)*(x+1)*(y+1)-query(x,y,1)*(y+1)-query(x,y,2)*(x+1)+query(x,y,3);
}
signed main(){
cin>>op>>n>>m;
while(cin>>op>>a>>b>>c>>d){
if(op=='L'){
cin>>k;
update(c+1,d+1,k);
update(a,d+1,-k);
update(c+1,b,-k);
update(a,b,k);
}
else{
cout<<s(c,d)-s(c,b-1)-s(a-1,d)+s(a-1,b-1)<<endl;
}
}
return 0;
}
/kk