XOR-layan Murad#9030

XOR-layan Murad

2 saniyə
128 meqabayt
Asan

Murad XOR-lamağı çox xoşlayır. O bütün günü dayanmadan ədədləri bir-biri ilə XOR-layır.

Bu dəfə Murad belə bir məsələ ilə qarşılaşdı: Ona n ölçülü a massivi verilir. O, bu massivin üzərində q sayda sorğu icra etməlidir. Sorğular aşağıdakı kimi iki növdə ola bilər:

  1. 1 l r - bu növ sorğuda l, r (1 ≤ l < r ≤ n) aralığında olan bütün cütlərin XOR-ları cəmini, yəni,

xorimg.png

cəmini tapmaq tələb olunur.

  1. 2 l r v - bu növ sorğuda massivin l, r (1 ≤ l ≤ r ≤ n) aralığında olan bütün elementlərini v ilə XOR-lamaq tələb olunur.

Qeyd: Burada XOR məntiqi xor əməliyyatını göstərir.

Giriş verilənləri

İlk sətirdə iki tam ədəd n və q (2 ≤ n ≤ 2 * 10^5, 1 ≤ q ≤ 10^5) - uyğun olaraq a massivinin ölçüsü və sorğuların sayı, ikinci sətirdə isə n sayda tam ədəd a massivinin elemetləri (0 ≤ a[i] ≤ 10^9) verilir.

Növbəti q sətrin hər birində bir sorğu verilir. i-ci sorğuda, öncə sorğunun növünü göstərən 1 və ya 2 ədədi verilir. Əgər 1-ci növ sorğu olarsa, daha sonra iki tam ədəd l[i] və r[i] (1 ≤ l[i] < r[i] ≤ n), əks halda üç tam ədəd l[i], r[i] və v[i] (1 ≤ l[i] ≤ r[i] ≤ n, 0 ≤ v[i] ≤ 10^9) verilir.

Çıxış verilənləri

Çıxışa 1-ci növ sorğulara uyğun cavabları, hər birini yeni sətirdə olmaqla verin.

Nümunələr

Nümunə 1

Loading
Loading

Nümunə 2

Loading
Loading