Para un arreglo de enteros positivos, su arreglo sombra de longitud se define de la siguiente manera:
Se te da el arreglo sombra . Tu tarea es encontrar la cantidad de arreglos originales válidos, formados por enteros positivos, que podrían haber producido .
Como esta cantidad puede ser muy grande, muéstrala módulo 10^9 + 7.
La primera línea contiene un único entero (1 \le t \le 10^4) — la cantidad de casos de prueba.
La primera línea de cada caso de prueba contiene un único entero (1 \le n \le 10^6) — la longitud del arreglo.
La segunda línea de cada caso de prueba contiene enteros h_1, h_2, \dots, h_n (1 \le h_i \le 10^9) — los elementos del arreglo sombra .
Se garantiza que la suma de sobre todos los casos de prueba no excede 10^6.
Para cada caso de prueba, muestra un único entero — la cantidad de arreglos originales válidos módulo 10^9 + 7.
Ejemplo 1
En el primer caso de prueba, h = [2, 2, 2]. Existen exactamente arreglos originales válidos que producen este arreglo sombra:
a = [2, 1, 2]
a = [2, 2, 2]
Subtarea ( puntos): \sum n \le 8 y h_i \le 8.
Subtarea ( puntos): \sum n \le 1000 y h_i \le 100.
Subtarea ( puntos): Sin restricciones adicionales.