시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 105 10 7 14.286%

문제

택희는 자료구조 수업시간에 다음과 같은 자료구조를 만들었다. 이 자료구조는 택희가 좋아하는 숫자 N개로 이루어진 수열에 아래와 같은 연산을 수행하는 것이다.

연산 형식 설명 예제
1 A B X A번째부터 B번째까지 수를 X로 바꾼다. (9,8,7,6,5,4,3,2,1)
-> 1 3 5 0 ->
(9,8,0,0,0,4,3,2,1)
2 A B X A번째 수에는 X를, A+1번째 수에는 2*X를, ..., B번째 수에는 (B-A+1)*X를 더한다. (9,8,7,6,5,4,3,2,1)
-> 2 3 5 2 ->
(9,8,9,10,11,4,3,2,1)
3 C X C번째 숫자 바로 앞에 X를 삽입한다. (9,8,7,6,5,4,3,2,1)
-> 3 4 100 ->
(9,8,7,100,6,5,4,3,2,1)
4 A B A번째 수부터 B번째 수를 더해서 출력한다. (2,18,7,6,1,4,7,7,2)
-> 4 6 7 ->
결과: 11

택희가 좋아하는 숫자 N개로 이루어진 수열과 택희가 수행한 연산 목록이 주어졌을 때, 4번이 나올때 마다 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 N과 Q가 주어진다. (1<=N,Q<=100,000) N은 처음 수열의 크기이고, Q는 택희가 수행한 연산의 개수이다.

둘째 줄에는 처음 수열이 주어진다. 수열의 수는 100,000을 넘지않는 음이 아닌 정수이며, 공백으로 구분되어져 있다.

셋째 줄부터 Q개의 줄에는 택희가 수행한 연산이 차례대로 주어진다. 1<=X<=100, 1<=A<=B<=현재 수열의 크기, 1<=C<=현재 수열의 크기+1

출력

4번 연산이 나올때 마다 합을 출력한다. 합이 32비트 정수를 넘어갈 수 있다.

예제 입력

5 5
1 2 3 4 5
1 5 5 0
4 4 5
4 5 5
2 1 5 1
4 1 5

예제 출력

4
0
25

힌트