A + B * C / D = K
Tiempo:
2000 ms
Memoria:
4096 KB
Difícil (65)
Dada una secuencia de $n$ enteros $a_1, a_2, \dots, a_n$ y un entero $k$, debes encontrar, en los casos en los que sea posible, una forma válida de colocar entre cada par consecutivo de números, un operador de suma, resta, multiplicación o división (debe ser exacta), tal que, al evaluar la expresión resultante siguiendo las reglas habituales de precedencia de operadores (multiplicación y división antes que suma y resta, todas de izquierda a derecha), el valor final sea exactamente $k$.
## Entrada
La primera línea contiene un entero $t$ $(1 \leq t \leq 100)$, que indica el número de casos de prueba.
Cada caso de prueba comienza con dos enteros $n$ y $k$ $(1 \leq n \leq 12,\ |k| \leq 38^{12})$.
La siguiente línea contiene $n$ enteros $a_1, a_2, \dots, a_n$ $(|a_i| \leq 38)$.
## Salida
Para cada caso de prueba, si existe una expresión válida, imprímela (revisa los ejemplos), en caso contrario, imprime "NO".
Ejemplos
Ejemplo 1
Entrada
6 3 6 1 2 3 3 -4 1 2 3 4 14 10 3 2 2 3 8 1 2 3 12 9065737908494995456 38 38 38 38 38 38 38 38 38 38 38 38 12 -12010 27 37 -12 -3 0 2 4 9 10 4 -20 -38
Salida
1 + 2 + 3 = 6 1 - 2 - 3 = -4 10 + 3 + 2 / 2 = 14 NO 38 * 38 * 38 * 38 * 38 * 38 * 38 * 38 * 38 * 38 * 38 * 38 = 9065737908494995456 27 * 37 * -12 + -3 + 0 + 2 * 4 + 9 - 10 * 4 / -20 + -38 = -12010