#include <bits/stdc++.h>
// #define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
using namespace std;
const int N = (1 << 12) + 10;
long long a[N][N], c[N][N];
int n, m;
int lowbit(int x) // 返回末尾的1
{
return x & -x;
}
void add(int x, int y, int k)
{
while (x <= n)
{
for (int i = y; i <= m; i += lowbit(i))
{
c[x][i] += k;
}
x += lowbit(x);
}
}
long long query(int x, int y)
{
long long sum = 0;
while (x)
{
for (int i = y; i; i -= lowbit(i))
{
sum += c[x][i];
}
x -= lowbit(x);
}
return sum;
}
signed main()
{
// IOS;
scanf("%d%d", &n, &m);
int op;
while (cin >> op)
{
if (op == 1)
{
int x, y, k;
cin >> x >> y >> k;
add(x, y, k);
}
else
{
int aa, bb, cc, dd;
cin >> aa >> bb >> cc >> dd;
cout << query(cc, dd) - query(aa - 1, dd) - query(cc, bb - 1) + query(aa - 1, bb - 1) << endl;
}
}
return 0;
}