Masala #0218

Xotira 16 MB Vaqt 1000 ms Qiyinchiligi 40 %
3.4 (Baholar 5)
14

  

XOR

Biz yangicha fibonachchi sonlarining turini ishlab chiqdik, u quyidagicha hosil qilinadi. Avvaliga KK ta son olinadi, demak fibonachchining dastlabki KK ta elementi shular ya’ni quyidagicha:
F(1)=a1, F(2)=a2, F(3)=a3,  , F(k)=akF(1) = a_1,  F(2) = a_2, \space F(3) = a_3, \space\dots\space, \space F(k) = a_k
Qolgan elementlari esa o`zidan oldingi K tasining umumiy xoriga teng ya’ni quyidagicha:
F(i)=F(i1) xor F(i2) xor F(i3) xor  xor F(ik), (qachonki i>k)F(i) = F(i−1) \space\text{xor}\space F(i−2) \space\text{xor}\space F(i-3) \space\text{xor}\space … \space\text{xor}\space F(i-k), \space (\text{qachonki} \space i > k)
Demak sizga yangicha Fibonachchi ketma-ketligimiz tushunarli bo`lsa sizning vazifangiz LL va RR oraliqdagi barcha fibonachchi sonlarimizni umumiy xor qiymatini hisoblab berishingiz talab qilinadi ya’ni quyidagicha:
F(L) xor F(L+1) xor F(L+2) xor  xor F(R1) xor F(R)F(L) \space\text{xor}\space F(L+1) \space\text{xor}\space F(L+2) \space\text{xor}\space … \space\text{xor}\space F(R-1) \space\text{xor}\space F(R)


Kiruvchi ma'lumotlar:

Birinchi qatorda K (1K105)K \space (1 \le K \le 10^5) butun son fibonachchining dastlabki elementlari soni.

Keyingi KK ta qatorda Ai(0Ai1018)A_i (0 \le A_i \le 10^{18}) butun sonlar son fibonachchining dastlabki elementlari beriladi.

Keyingi qatorda Q(1K106)Q (1 \le K \le 10^6)  soni so`rovlar soni.

Keyingi QQ ta qatorda LL va R(1LR1018)R (1 \le L \le R \le 10^{18}) har bir so`rovdagi LL va RR  siz hisoblab berishingiz kerak bo`lgan oraliq.


Chiquvchi ma'lumotlar:

QQ ta alohida qatorda yagona butun LL va RR oraliqdagi biz tuzgan yangi Fibonachchi ketma-ketligining sonlarini umumiy xor qiymatini chiqaring


Misollar
# input.txt output.txt
1
4
1 3 5 7
3
2 2
2 5
1 5
3
1
0
2
5
3 3 4 3 2
4
1 2
1 3
5 6
7 9
0
4
7
4
Yechimini yuborish
Bu amalni bajarish uchun tizimga kiring, agar profilingiz bo'lmasa istalgan payt ro'yxatdan o'tishingiz mumkin