Masala #0759

Xotira 512 MB Vaqt 1000 ms
14

Oraliqga qo'shish va o'zgartirish (HARD)

Sizga \(N\) ta elementdan iborat \(A\) massiv va \(Q\) ta so'rov berilgan, so'rovlar quyidagicha:

  1. \(L \space R \space X\) turdagi so'rovda \([L, R]\) oraliqdagi barcha elementlarga \(X\) sonini qo'shish
  2. \(L \space R \space X\) turdagi so'rovda \([L, R]\) oraliqdagi barcha elementlar qiymatini \(X\) soniga tenglashtirish
  3. \(L \space R\) turdagi so'rovda \([L, R]\) oraliqdagi barcha elementlar yig'indisini chiqarish

Kiruvchi ma'lumotlar:

Birinchi qatorda \(N\) va \(Q (1 ≤ N, Q ≤ 2 * 10^5)\) butun sonlari mos ravishda massiv elementlari soni va so'rovlar soni.

Keyingi qatorda \(N\) ta butun \(A[i] (1 ≤ A[i] ≤ 10^6)\) sonlari

Keyingi \(Q\) ta qatorda so'rovlar beriladi. 

Chegaralar:

\(1 ≤ N, Q ≤ 2 * 10^5\)
\(1 ≤ A[i], X ≤ 10^6\)
\(1 ≤ L ≤ R ≤ N\)


Chiquvchi ma'lumotlar:

Chiquvchi faylda har bir 3-turdagi so'rov uchun berilgan \([L, R]\) oraliqdagi massiv elementlari yig'indisini chiqaring!


Misollar
# input.txt output.txt
1
3 3
1 2 3
1 1 2 3
2 2 3 1
3 1 3
6