C - Colocando Piedras

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

Fito está colocando piedras blancas y negras en una mesa. Él las pone en una línea, colocando la primera, la segunda después de esta, y así hasta que finalmente coloque  $N$ piedras. Cuando coloca la i -ésima piedra, las que están en la mesa se reemplazan siguiendo las reglas:

Cuando i es impar: usted no reemplaza las piedras de la mesa, usted pone la i -ésima piedra en el i -ésimo lugar desde la izquierda.

Cuando i es par: Si la i -ésima piedra y la piedra de más a la derecha de la mesa tienen el mismo color, usted no reemplaza las piedras de la mesa y pone la i -ésima piedra en el i -ésimo lugar desde la izquierda. En otro caso, es decir, que tengan color diferente, usted reemplaza todas las piedras de más a la derecha que tengan color diferente que la i -ésima piedra por piedras que tengan el mismo color que la i -ésima piedra y luego coloca esta.

Por ejemplo, suponga que las piedras de la mesa son:

Si la 8va piedra es blanca, puesto que tiene el mismo color que la última, entonces coloca esta en la mesa y queda como sigue:

Si la 8va piedra fuera negra, como la de más a la derecha tiene color diferente que esta, entonces las tres piedras blancas de más a la derecha se sustituyen por piedras negras quedando la mesa como sigue:

Escriba un programa que dado el orden de las piedras a colocar, determine el número de piedras blancas después de que Fito colocó las $N$ piedras.

Input

La primera línea de la entrada contiene al entero positivo $N$ $(1 \le N  \le 100000)$, la ( i +1)-ésima línea contiene el color de la i-ésima piedra; $0$ representa una piedra blanca y $1$ representa a una piedra negra.

Output

La salida debe contener un solo entero, el número de piedras blancas después de colocadas las $N$ piedras.

Sample test(s)

Input
8 1 0 1 1 0 0 0 0
Output
6
Input
8 1 0 1 1 0 0 0 1
Output
2