/*This Code is Submitted by billforum for Problem 1640 at 2012-02-10 20:37:39*/
#include <iostream>
#include <stdio.h>
using namespace std;
const int N=1030;
int t[N][N],maxi,maxj;
/*int lowbit(int k)
{
return k & (k ^(k - 1));
}
void update(int x, int y, int val)
{
for (int i = x; i <= maxi; i += lowbit(i))
for (int j = y; j <= maxj; j += lowbit(j))
t[i][j] += val;
}
int sumn(int x, int y)
{
int s = 0;
for (int i = x; i > 0; i -= lowbit(i))
for (int j = y; j > 0; j -= lowbit(j))
s += t[i][j];
return s;
}
*/
void update(int i,int j,int v)
{
int j0=j;
while(i<=maxi)
{
j=j0;
while(j<=maxj)
{
t[i][j]+=v;
j=(j|(j-1))+1;
// j+=(j&(-j));
}//while
i=(i|(i-1))+1;
// i+=(i&(-i));
}//while
return;
}
int sumn(int i,int j)
{
int j0=j,sum=0;
while(i>0)
{
j=j0;
while(j>0)
{
sum+=t[i][j];
//j-=(j&(-j));
j=(j&(j-1));
}
i=(i&(i-1));
// i-=(i&(-i));
}//while
return sum;
}
int main(){
int dre,s;
int x,y,v;
int x1,y1,x2,y2;
//ios::sync_with_stdio(false);
while(scanf("%d",&dre)!=EOF)
{
if(dre==0)
{
// cin>>s;
scanf("%d",&s);
maxi=s;
maxj=s;
for(int i=0;i<=maxi;i++)
for(int j=0;j<=maxj;j++)
t[i][j]=0;
}
else if(dre==1)
{
// cin>>x>>y>>v;
scanf("%d%d%d",&x,&y,&v);
update(x+1,y+1,v);
}
else if(dre==2)
{
//cin>>x1>>y1>>x2>>y2;
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
//cout<<(sumn(x2+1,y2+1)+sumn(x1,y1)-sumn(x1,y2+1)-sumn(x2+1,y1))<<endl;
int sum=sumn(x2+1,y2+1);
sum-=sumn(x1,y2+1);
sum-=sumn(x2+1,y1);
sum+=sumn(x1,y1);
printf("%d\n",sum);
}
}
return 0;
}