A - Jugando con listas

Languages: C, C++, Java, Pascal, Python, Tiger, JavaScript, Haskell, C#
Time & Memory limits: (details)

Considere la secuencia de $N$ enteros $A = a_1, a_2, ..., a_N$ luego suponga que se obtiene una lista $B = b_1, b_2, ..., b_N$ donde $b_i$ es la suma de todos los elementos en $A$ más $a_i$. De esta forma si $A = [1, 4, 3, 1]$, entonces $B = [10, 13, 12, 10]$. Para este problema usted debe encontrar la lista $A$ dado $B$, o inferir que dicha lista no existe.

Input

Línea 1 : Un entero $N (1 \le N \le 100000)$.
Línea 2 : $N$ enteros separados por espacio $b_1, b_2, ..., b_N (-10^6 \le b_i \le 10^6)$.


Output

Línea 1 : Si no hay solución imprima “NO”, de lo contrario escriba $N$ enteros separados por espacio $a_1, a_2, ..., a_N$ .

Sample test(s)

Input
4 10 13 12 10
Output
1 4 3 1
Input
3 1 2 3
Output
NO