#include<iostream>
using namespace std;
typedef long long ll;
const int N = 4100;
ll dp[N][N];
int n,m;
int lowbit(int x)
{
return (x&-x);
}
void updata(int x,int y,int z)
{
for(int i=x;i<=n;i+=lowbit(i))
for(int j=y;j<=m;j+=lowbit(j))
dp[i][j]+=z;
}
ll getsum(int x,int y)
{
ll res=0;
for(int i=x;i;i-=lowbit(i))
for(int j=y;j;j-=lowbit(j))
res+=dp[i][j];
return res;
}
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>n>>m;
int k,a,b,c,d,op;
while(cin>>op)
{
if(op==1)
{
cin>>a>>b>>c>>d>>k;
updata(a,b,k);
updata(a,d+1,-k);
updata(c+1,b,-k);
updata(c+1,d+1,k);
}
else
{
cin>>a>>b;
cout<<getsum(a,b)<<endl;
}
}
return 0;
}