Bəzən hər kəsin həyatında sorğulara cavab almaq istədiyi an olur.
Sergey üçün də belə bir an gəldi. O, çox maraqlı bir məsələni düşündü və onu həll etməyinizi istədi.
Onun massivində yalnız və var idi və siz bu əməliyyatı onunla edə bilərsiniz:
Siz 2 \cdot k uzunluğunda olan, məhz sıfır və birlərdən ibarət istənilən bir massiv altseqmentini seçə və bütün sıfırları birlərə çevirə bilərsiniz.
Əgər siz bütün massivi birlərə çevirə bilsəniz, massiv yaxşı hesab olunacaq.
Amma Sergey həyatında çətin bir dövr keçirdiyindən, o, məsələsini çətinləşdirərək sizə ədəd [l, r] şəklində sorğu verəcək. Siz sorğuya, massiv -dakı [l, r] altseqmentinin yaxşı olub-olmadığını söyləməlisiniz.
Birinci sətir , , (1 \le n, k, q \le 10^6) tam ədədlərini – massivinin uzunluğunu, ədədini və sorğuların sayını ehtiva edir.
İkinci sətir a_1, a_2, \dots, a_n (0 \le a_i \le 1) – Sergiyin massivini ehtiva edir.
Növbəti sətirin hər biri iki tam ədəd və (1 \le l; l+2 \cdot k-1 \le r \le n) ehtiva edir – Sergiyin sorğuları.
Hər sorğuya cavab verməlisiniz. Əgər massiv yaxşı deyilsə «NO», əks halda «YES» çıxarın.
Nümunə 1
Sorğu : Altseqment [1,0,1,0,0,1,0,0,0,1]. Birinci əməliyyat -da: altseqment [1,0,1,0,0,1] var sıfır və birlərdən ibarətdir, çevrilir \to [1,1,1,1,1,1,0,0,0,1]. İkinci əməliyyat -da. Cavab: YES.
Sorğu : Altseqment [0,1,1,1,1,0,0] – icazə verilmiş əməliyyatlarla bütün sıfırları əhatə edə bilmək mümkün deyil. Cavab: NO.
Sorğu : Altseqment [0,0,1,0,1,1,1]. Əməliyyat -da: [0,0,1,0,1,1] – sıfır və birlərdən ibarətdir, bir əməliyyat tamamlayır. Cavab: YES.
Sorğu : Altseqment [0,0,0,1,0,1,1] – sıfır, birlər. Bunu etmək mümkün deyil. Cavab: NO.
Sorğu : Altseqment [1,0,1,0,0,1] – sıfır və birlərdən ibarət, bütün seqment üçün bir əməliyyat. Cavab: YES.
( bal): q = 1; l_1 = 1; r_1 = n;
( bal): n \le 10;
( bal): n,q \le 5\,000;
( bal): l_i = 1;
( bal): k = 1;
( bal): k \le 50;
( bal): r_i - l_i + 1 = 4 \cdot k;
( bal): Əgər cavab «YES» olsa, bunu yalnız bir əməliyyatla etmək olar.
( bal): Əlavə məhdudiyyətlər olmadan.