#include<bits/stdc++.h>
#define int long long
#define lowbit(x) ((x)&(-(x)))
using namespace std;
const int N=1<<12+1;
int n,m,q,a[N][N];
void add(int x,int y,int k){
int by=y;
while(x<=n){
y=by;
while(y<=n)
a[x][y]+=k,y+=lowbit(y);
x+=lowbit(x);
}
return;
}
int qry(int x,int y){
int ans=0,by=y;
for(;x;x-=lowbit(x)){
for(y=by;y;y-=lowbit(y))
ans+=a[x][y];
}
return ans;
}
int qry(int l1,int r1,int l2,int r2){
return qry(l2,r2)-qry(l1-1,r2)-qry(l2,r1-1)+qry(l1-1,r1-1);
}
signed main(){
cin>>n>>m;
int op,a,b,c,d;
while(cin>>op>>a>>b){
if(op==1){
cin>>c;
add(a,b,c);
}
else{
cin>>c>>d;
cout<<qry(a,b,c,d)<<'\n';
}
}
return 0;
}
题目在这里 https://loj.ac/p/133