Size uzunluğu olan ve her elemanı a_i \in \{0, 1\} olan bir ikili dizi veriliyor.
bağımsız sorguyu yanıtlamanız gerekiyor. Her sorguda size bir [l, r] aralığı veriliyor (1 \le l \le r \le n).
Uzunluğu k \ge 1 olan herhangi bir ikili dizi b = [b_1, b_2, \dots, b_k] için sayısal değeri, dizinin başına örtük olarak bir '1' biti eklenerek tanımlanır. Biçimsel olarak değer şöyle hesaplanır:
Örneğin:
[0] \rightarrow 10_2 = 2
[1] \rightarrow 11_2 = 3
[0, 0] \rightarrow 100_2 = 4
[0, 1] \rightarrow 101_2 = 5
Her [l, r] sorgusu için göreviniz, a[l \dots r] alt dizisinde ardışık bir alt parça olarak BULUNMAYAN ve val(b) değeri kesin olarak en küçük olan bir ikili dizi bulmaktır.
Bu en küçük değeri modülüne göre yazdırın.
İlk satır tek bir tam sayı (1 \le t \le 10^4) içerir — test durumlarının sayısı.
Her test durumunun ilk satırı iki tam sayı ve (1 \le n, q \le 2 \cdot 10^5) içerir — ikili dizinin uzunluğu ve sorguların sayısı.
Her test durumunun ikinci satırı boşluklarla ayrılmış tam sayı a_1, a_2, \dots, a_n (a_i \in \{0, 1\}) içerir — dizinin elemanları.
Sonraki satır sorguları açıklar. Her satır iki tam sayı ve (1 \le l \le r \le n) içerir — sorgu aralığının sınırları.
Tüm test durumları boyunca hem değerlerinin toplamının hem de değerlerinin toplamının 2 \cdot 10^5 değerini aşmadığı garanti edilir.
Her sorgu için yeni bir satırda tek bir tam sayı yazdırın — a[l \dots r] içinde ardışık bir alt parça olarak bulunmayan bir ikili dizinin en küçük sayısal değeri, modülüne göre.
Örnek 1
İlk test durumunda dizi a = [0, 1, 0] şeklindedir.
Birinci sorguda , mevcut ardışık alt parçalar [0], [1], [0, 1], [1, 0] ve [0, 1, 0] şeklindedir. Bunların ondalık değerleri sırasıyla 2, 3, 5, 6 ve 'dur. Oluşturulmayan en küçük değer 'tür ve bu da dizisine karşılık gelir.
İkinci sorguda , alt dizi 'dir. Mevcut alt parçalar ve 'dir. En küçük eksik değer yine 'tür ( dizisi).
Üçüncü sorguda , alt dizi 'dir. Mevcut tek alt parça 'dir (değeri ). En küçük eksik değer 'dir ( dizisi).
İkinci test durumunda dizi a = [1, 1, 1, 1] şeklindedir. sorgusu için dizisi (değeri ) hiç görülmez, bu yüzden cevap 'dir.
Üçüncü test durumunda dizi a = [1, 0, 0, 1] şeklindedir.
sorgusu için alt dizi [1, 0, 0]'dır. [0], [1], [0, 0], [1, 0] alt parçalarını (değerleri 2, 3, 4, 6) içerir. En küçük eksik değer 'tir ( dizisi).
sorgusu için alt dizi [0, 0, 1]'dir. [0], [1], [0, 0], [0, 1] alt parçalarını (değerleri 2, 3, 4, 5) içerir. En küçük eksik değer 'dır ( dizisi).
sorgusu için alt dizi 2, 3, 4, 5 ve değerlerini içerir. En küçük eksik değer 'dir ( dizisi).
Alt görev 1 (100 puan): \sum n \le 2000 ve \sum q \le 2000.
Alt görev 2 (150 puan): \sum n \le 40000 ve \sum q \le 40000.
Alt görev 3 (250 puan): Ek kısıtlama yoktur.