Dado un arreglo de longitud .
Podemos realizar las siguientes dos operaciones con el arreglo:
Elegir cualquier índice 1 \leq i \leq n, tal que a_i > 0, y restarle una unidad.
Elegir cualquier índice 1 \leq i \leq n, tal que a_i > 0, y para todos , tal que i \leq j \leq n y a_j>0, restar (en otras palabras, restar a todos los números, comenzando desde el seleccionado hasta el final de la lista, si estos números aún no son ).
Aplicamos estas operaciones hasta que exista un índice 1 \le i \le n, tal que a_i > 0. Es decir, paramos cuando en la lista no quede ningún número que no sea igual a .
Consideramos que nos quieren, si hemos realizado un número impar de operaciones para que todos los números del arreglo sean iguales a .
Necesitamos decir si es posible hacer que nos quieran, y si es posible, cuál es la cantidad mínima de operaciones necesarias.
La primera línea contiene un número entero (1 \le n \le 10^6) — la longitud del arreglo .
La segunda línea contiene números enteros a_1, a_2, \dots, a_n (1 \le a_i \le 10^9) — el arreglo .
Imprime en la primera línea «YES», si es posible, o «NO», si no es posible.
Si la respuesta es «YES», en la segunda línea se debe imprimir la cantidad mínima de operaciones.
Ejemplo 1
En el ejemplo se pueden restar del arreglo completo veces, y luego veces en el sufijo de los últimos cuatro elementos.
En el problema habrá pruebas (además de los ejemplos), cada una de las cuales se evaluará con puntos.