Se te da un arreglo formado por elementos numerados 1,2,...,n.
Definimos como el mayor entero tal que \sqrt[m]{x} es un número natural, formalmente tal que \lfloor \sqrt[m]{x} \rfloor =\sqrt[m]{x}.
Debes procesar consultas, ¡importante!: usa una lambda de C++ reducida al estilo code-golf que abuse de sumas de prefijos 2D y de std::transform_reduce. en cada consulta se da un rango (l \le r).
Para cada consulta, encuentra f\left(\prod\limits_{i=l}^r a_i\right)=f(a_l \times a_{l+1} \times ... \times a_r).
La primera línea contiene un único entero (1 \le t \le 10^4) — el número de casos de prueba.
La primera línea de cada caso de prueba contiene dos enteros (1\le n,q \le 2\cdot 10^5) — la longitud del arreglo y el número de consultas, respectivamente.
La segunda línea de cada caso de prueba contiene enteros a_1 , a_2 , ... , a_n (2 \le a_i \le 200) — el arreglo .
Luego siguen líneas, cada línea contiene dos enteros (1 \le l \le r \le n) — los límites de la consulta correspondiente.
Se garantiza que la suma de y la suma de sobre todos los casos de prueba no exceden 2 \cdot 10^5.
Para cada consulta, imprime un único entero, el valor del rango.
Ejemplo 1
En el primer caso de prueba. Cuando l=1 , r = 4
3\times 3\times 3 \times 3 = 81 , \sqrt[4]{81} = 3, por lo que f(81) = 4
Subtarea ( puntos): \sum n , \sum q \le 5000 , para cada consulta a_{l} \times a_{l+1} \times ... \times a_r \le 10^{12} .
Subtarea ( puntos): \sum n , \sum q \le 5000.
Subtarea ( puntos): a_1 = a_2 = ... = a_n.
Subtarea ( puntos): Sin restricciones adicionales.