직사각형 갱신과 구간 합

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

N×MN \times M 크기의 격자가 있다. 행은 아래에서 위로 1번부터 NN번까지, 열은 왼쪽에서 오른쪽으로 1번부터 MM번까지 번호가 붙어 있고, 처음에는 모든 칸의 값이 0이다. 칸 (i,j)(i, j)ii번 행과 jj번 열이 만나는 자리를 뜻한다.

격자에 다음 두 가지 연산을 주어진 순서대로 QQ번 수행한다.

1 a b x y w: 왼쪽 아래 칸이 (a,b)(a, b)이고 오른쪽 위 칸이 (x,y)(x, y)인 직사각형에 속한 모든 칸에 ww를 더한다.

2 a b x y: 왼쪽 아래 칸이 (a,b)(a, b)이고 오른쪽 위 칸이 (x,y)(x, y)인 직사각형에 속한 모든 칸의 값을 더한 결과를 출력한다.

입력

첫째 줄에 NN, MM, QQ가 공백으로 구분되어 주어진다. 다음 QQ개의 줄에는 위에서 정한 형식의 연산이 한 줄에 하나씩 주어진다.

1N,M10001 \le N, M \le 1000이고 1Q1000001 \le Q \le 100000이다. 모든 연산은 1axN1 \le a \le x \le N, 1byM1 \le b \le y \le M을 만족하며, 1번 연산의 ww1w10001 \le w \le 1000인 정수이다.

출력

2번 연산마다 계산한 합을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다. 합은 32비트 정수 범위를 넘을 수 있다.