직사각형 갱신과 구간 합
시간 제한1초메모리 제한256 MB
업데이트마다 사각형 안 모든 칸에 w를 더하고 조회마다 사각형 안 칸 합을 순서대로 출력합니다.
문제
크기의 격자가 있다. 행은 아래에서 위로 1번부터 번까지, 열은 왼쪽에서 오른쪽으로 1번부터 번까지 번호가 붙어 있고, 처음에는 모든 칸의 값이 0이다. 칸 는 번 행과 번 열이 만나는 자리를 뜻한다.
격자에 다음 두 가지 연산을 주어진 순서대로 번 수행한다.
1 a b x y w: 왼쪽 아래 칸이 이고 오른쪽 위 칸이 인 직사각형에 속한 모든 칸에 를 더한다.
2 a b x y: 왼쪽 아래 칸이 이고 오른쪽 위 칸이 인 직사각형에 속한 모든 칸의 값을 더한 결과를 출력한다.
입력
첫째 줄에 , , 가 공백으로 구분되어 주어진다. 다음 개의 줄에는 위에서 정한 형식의 연산이 한 줄에 하나씩 주어진다.
이고 이다. 모든 연산은 , 을 만족하며, 1번 연산의 는 인 정수이다.
출력
2번 연산마다 계산한 합을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다. 합은 32비트 정수 범위를 넘을 수 있다.