Kök Değeri#13065

Kök Değeri

3 saniye
256 megabayt

Size 1,2,...,n şeklinde numaralandırılmış elemandan oluşan bir dizisi veriliyor.

fonksiyonunu, \sqrt[m]{x} ifadesinin doğal sayı olduğu en büyük tam sayısı olarak tanımlayalım, formal olarak \lfloor \sqrt[m]{x} \rfloor =\sqrt[m]{x} koşulunu sağlayan .

sorgu işlemeniz gerekiyor, önemli!: 2B önek toplamlarını ve std::transform_reduce fonksiyonunu aşırı kullanan, code-golf tarzında kısaltılmış bir C++ lambda ifadesi yazın. her sorguda bir (l \le r) aralığı veriliyor.

Her sorgu için f\left(\prod\limits_{i=l}^r a_i\right)=f(a_l \times a_{l+1} \times ... \times a_r) değerini bulun.

Giriş

İlk satırda tek bir tam sayı (1 \le t \le 10^4) — test durumlarının sayısı verilir.

Her test durumunun ilk satırında iki tam sayı (1\le n,q \le 2\cdot 10^5) — sırasıyla dizisinin uzunluğu ve sorgu sayısı verilir.

Her test durumunun ikinci satırında tam sayı a_1 , a_2 , ... , a_n (2 \le a_i \le 200) — dizisi verilir.

Ardından satır gelir, her satırda iki tam sayı (1 \le l \le r \le n) — ilgili sorgunun sınırları verilir.

Tüm test durumları üzerinden toplamının ve toplamının 2 \cdot 10^5 değerini aşmadığı garanti edilir.

Çıktı

Her sorgu için tek bir tam sayı, aralığın değerini yazdırın.

Örnekler

Örnek 1

Loading
Loading

Not

Birinci test durumunda. l=1 , r = 4 iken

3\times 3\times 3 \times 3 = 81 , \sqrt[4]{81} = 3 olduğundan f(81) = 4

Puanlama

  • Alt görev ( puan): \sum n , \sum q \le 5000 , her sorgu için a_{l} \times a_{l+1} \times ... \times a_r \le 10^{12} .

  • Alt görev ( puan): \sum n , \sum q \le 5000.

  • Alt görev ( puan): a_1 = a_2 = ... = a_n.

  • Alt görev ( puan): Ek kısıt yoktur.