Bombončići | 프로그래밍의 벗 PivotOJ
PivotOJ

Bombončići

시간 제한: 5000ms메모리 제한: 2048MB출처: CHC 2024 Croatian Olympiad in Informatics for GirlsBOJ 34615
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

Priprema Hrvatske informatičke olimpijade za djevojke zahtijeva puno truda, pa tako i puno odmora. Kako bi bila što efikasnija u svojim odmorima, Iva je već prošloga tjedna pripremila stol na kojem je poredano nn hrpa bombončića: na ii-toj hrpi stavila je aia_i bombončića.

Ali Iva nije jedina koja voli bombončiće, voli ih i Maja! Maja bi često zapitala Ivu: "Možemo li podijeliti bombončiće od lil_i-te do rir_i-te hrpe?"

Na što bi joj Iva odgovorila: "Možemo podijeliti one hrpe na kojima je broj bombončića paran tako da svaka dobije polovicu bombončića s te hrpe. No, one hrpe na kojima je broj bombončića neparan, ne možemo podijeliti na jednak način. Što ćemo s njima?"

Maja je odmah pojela sve bombončiće koje su odmah mogle podijeliti, a nakon toga je započela cjelodnevna rasprava oko toga kako podijeliti neparne hrpe. Na kraju dana, kada su obje zaspale, njihova mama je potajno zamijenila sve hrpe oko kojih se nisu mogle dogovoriti tako da je na svakoj takvoj hrpi sada točno xix_i bombončića.

Kako je priprema Hrvatske informatičke olimpijade za djevojke zahtjevnija nego što je očekivala, Iva nikad nije našla vremena za jesti bombončiće. Ali često bi pogledavala na stol i razmišljala koliko bi bombončića pojela kad bi pojela sve bombončiće od ljl_j-te do rjr_j-te hrpe. Pomozite joj odgovoriti na ta pitanja!

입력

U prvom retku su prirodni brojevi nn i qq (1 ≤ n ≤ 10^5 i 1 ≤ q ≤ 10^5), broj hrpa bombončića i broj događaja.

U drugom retku je n prirodnih brojeva aia_i (1 ≤ a_i ≤ 2^{25}), broj bombončića na ii-toj hrpi.

Slijedi qq redaka koji opisuju događaje.

Prvi broj u retku opisa događaja je prirodan broj tt (1 ≤ t ≤ 2), tip događaja.

  • Za t=1t = 1 u istom retku slijede prirodni brojevi lil_i, rir_i, xix_i (1 ≤ l_i ≤ r_i ≤ n i 1 ≤ x ≤ 2^{25}), koji označavaju da je Maja pitala Ivu da podijele bombončiće od lil_i-te do rir_i-te hrpe, a xix_i je broj bombončića na koji je njihova mama promijenila hrpe nakon što su zaspale.
  • Za t=2t = 2 u istom retku slijede prirodni brojevi lil_i, rir_i (1 ≤ l_i ≤ r_i ≤ n), koji označavaju da se Iva upitala koliko ukupno ima bombončića od lil_i-te do rir_i-te hrpe.

출력

Na svaki događaj tipa 22 u zaseban red odgovorite Ivi na njeno pitanje.

힌트

Pojašnjenje prvog probnog primjera: Ilustracija prikazuje kako se mijenjao broj bombončića na stolu nakon svake promjene.

[이미지 1]

예제

예제 1

입력
7 5
1 3 4 2 199 32 12
2 5 7
1 2 5 18
2 3 7
1 1 4 5
2 1 4
출력
243
65
20

예제 2

입력
8 12
1 5 3 8 2 10 4 19
2 3 8
1 4 4 21
1 5 5 1999
1 8 8 20
2 1 8
1 1 1 64
1 2 2 18
1 1 1 64
2 1 4
1 1 1 64
1 2 2 1999
2 1 2
출력
46
48
57
25

예제 3

입력
8 9
1 2 3 5 6 7 9 10
1 1 6 19
1 6 8 22
2 4 8
1 2 4 18
1 2 5 199
2 1 5
1 1 8 1
1 1 8 101
2 1 8
출력
71
245
808

예제 4

입력
6 13
2 16 7 48 11 1024
1 5 6 22
1 1 4 8
2 1 6
1 3 6 111
1 2 3 200
2 2 6
1 1 5 64
1 1 6 101
1 1 1 542
2 1 6
1 2 5 13
1 3 4 22
2 1 3
출력
575
285
281
51
코드를 제출하려면 로그인하세요.