Nasser size uzunluğunda bir dizisi veriyor.
Size sorgu veriliyor. Her sorgu iki tam sayı, ve , içerir.
Her sorgu için, aşağıdaki koşulları sağlayan (i, j, k) üçlülerinin sayısını bulmanız gerekiyor:
1 \le i < j < k \le n
l \le \gcd(a[i], a[j], a[k]) \le r
Cevap çok büyük olabileceğinden, onu 10^9 + 7 moduna göre yazdırın.
Her test birden fazla test durumu içerir. İlk satırda tek bir tam sayı (1 \le t \le 10^4) — test durumlarının sayısı verilir. Ardından test durumlarının açıklaması gelir.
Her test durumunun ilk satırında iki tam sayı ve (3 \le n \le 2 \cdot 10^5, 1 \le q \le 2 \cdot 10^5) verilir.
Her test durumunun ikinci satırında tam sayı a_1, a_2, \ldots, a_n (1 \le a_i \le n) — dizinin elemanları verilir.
Sonraki satırın her birinde iki tam sayı ve (1 \le l \le r \le n) verilir.
Tüm test durumları üzerinden değerlerinin toplamının 2 \cdot 10^5'i ve değerlerinin toplamının 2 \cdot 10^5'i aşmadığı garanti edilir.
Her sorgu için tek bir tam sayı — değeri [l, r] aralığında olan (i, j, k) üçlülerinin sayısını 10^9 + 7 moduna göre yazdırın.
Örnek 1
Birinci test durumunda n=6, q=2, a=[2,3,2,5,6,6]:
Sorgu : l=2, r=4. 2 \le \gcd(a_i, a_j, a_k) \le 4 koşulunu sağlayan (i,j,k) üçlülerine ihtiyacımız var.
(1,3,5): \gcd(2,2,6)=2. Geçerli.
(1,3,6): \gcd(2,2,6)=2. Geçerli.
(1,5,6): \gcd(2,6,6)=2. Geçerli.
(3,5,6): \gcd(2,6,6)=2. Geçerli.
(5,6,?): Üçüncü bir elemana ihtiyacımız var. \gcd(6,6,2)=2, \gcd(6,6,3)=3.
(2,5,6): \gcd(3,6,6)=3. Geçerli.
geçerli üçlü vardır. Cevap 'tir.
Sorgu : l=3, r=4. 3 \le \gcd(a_i, a_j, a_k) \le 4 koşulunu sağlayan (i,j,k) üçlülerine ihtiyacımız var.
(2,5,6): \gcd(3,6,6)=3. Geçerli.
geçerli üçlü vardır. Cevap 'dir.
Alt görev ( puan) : (3 \le \sum n \le 50, 1 \le \sum q \le 50)
Alt görev ( puan) : (3 \le \sum n \le 500, 1 \le \sum q \le 500)
Alt görev ( puan) : (3 \le \sum n \le 2000, 1 \le \sum q \le 2000)
Alt görev ( puan) : Ek kısıt yoktur.