Nasser'in EBOB Üçlüleri#13084

Nasser'in EBOB Üçlüleri

2 saniye
256 megabayt

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:

Cevap çok büyük olabileceğinden, onu 10^9 + 7 moduna göre yazdırın.

Giriş

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.

Çıktı

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.

Örnekler

Örnek 1

Loading
Loading

Not

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.

Puanlama

  1. Alt görev ( puan) : (3 \le \sum n \le 50, 1 \le \sum q \le 50)

  2. Alt görev ( puan) : (3 \le \sum n \le 500, 1 \le \sum q \le 500)

  3. Alt görev ( puan) : (3 \le \sum n \le 2000, 1 \le \sum q \le 2000)

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