Tripletas con MCD de Nasser#13084

Tripletas con MCD de Nasser

2 segundos
256 megabytes

Nasser te da un arreglo de longitud .

Se te dan consultas. Cada consulta contiene dos enteros y .

Para cada consulta, debes contar la cantidad de tripletas (i, j, k) tales que:

Como la respuesta puede ser muy grande, imprímela módulo 10^9 + 7.

Entrada

Cada test contiene múltiples casos de prueba. La primera línea contiene un único entero (1 \le t \le 10^4) — la cantidad de casos de prueba. A continuación sigue la descripción de los casos de prueba.

La primera línea de cada caso de prueba contiene dos enteros y (3 \le n \le 2 \cdot 10^5, 1 \le q \le 2 \cdot 10^5).

La segunda línea de cada caso de prueba contiene enteros a_1, a_2, \ldots, a_n (1 \le a_i \le n) — los elementos del arreglo.

Cada una de las siguientes líneas contiene dos enteros y (1 \le l \le r \le n).

Se garantiza que la suma de sobre todos los casos de prueba no excede 2 \cdot 10^5, y que la suma de sobre todos los casos de prueba no excede 2 \cdot 10^5.

Salida

Para cada consulta, imprime un único entero — la cantidad de tripletas (i, j, k) cuyo está en [l, r], módulo 10^9 + 7.

Ejemplos

Ejemplo 1

Loading
Loading

Nota

En el primer caso de prueba, n=6, q=2, a=[2,3,2,5,6,6]:

Consulta : l=2, r=4. Necesitamos tripletas (i,j,k) donde 2 \le \gcd(a_i, a_j, a_k) \le 4.

  • (1,3,5): \gcd(2,2,6)=2. Válida.

  • (1,3,6): \gcd(2,2,6)=2. Válida.

  • (1,5,6): \gcd(2,6,6)=2. Válida.

  • (3,5,6): \gcd(2,6,6)=2. Válida.

  • (5,6,?): Necesitamos un tercer elemento. \gcd(6,6,2)=2, \gcd(6,6,3)=3.

  • (2,5,6): \gcd(3,6,6)=3. Válida.

Hay tripletas válidas. La respuesta es .

Consulta : l=3, r=4. Necesitamos tripletas (i,j,k) donde 3 \le \gcd(a_i, a_j, a_k) \le 4.

  • (2,5,6): \gcd(3,6,6)=3. Válida.

Hay tripleta válida. La respuesta es .

Puntuación

  1. Subtarea ( puntos) : (3 \le \sum n \le 50, 1 \le \sum q \le 50)

  2. Subtarea ( puntos) : (3 \le \sum n \le 500, 1 \le \sum q \le 500)

  3. Subtarea ( puntos) : (3 \le \sum n \le 2000, 1 \le \sum q \le 2000)

  4. Subtarea ( puntos) : Sin restricciones adicionales.