Investigando Zeros e Uns

#99
Made by: ----
1024MB
0.1s

Você se encontra em um misterioso mundo binário, onde um vetor de N dígitos binários aguarda pelo seu exame minucioso. Cada dígito é zero ou um, criando um padrão único em toda a paisagem. Sua missão é descobrir os padrões ocultos deste reino binário, desvendando o significado de subvetores com um número ímpar de uns.

O vetor de dígitos é denotado como $b_1 , b_2 , ... , b_N$ . Sua tarefa é embarcar em uma jornada para descobrir os subvetores enigmáticos – segmentos de dígitos consecutivos – e determinar a contagem de subvetores que abrigam um número ímpar de uns.

Ao percorrer essa paisagem binária, lembre-se de que um subvetor é definido por seus dı́gitos iniciais e finais. Por exemplo, na sequência $[b1 , b2 , b3 ]$, os subvetores incluem $[b1 ], [b2 ], [b3 ], [b1 , b2 ], [b2 , b3 ],$ e $[b1 , b2 , b3 ]$.

Sua missão é projetar um algoritmo que determine o número total de subvetores contendo um número ı́mpar de uns nesta sequência binária. Não se esqueça de que a resposta pode não caber em um número inteiro de 32 bits.

Input

A primeira linha da entrada contém o inteiro $N (1 ≤ N ≤ 10^5)$, representando o comprimento da sequência binária. A segunda linha contém os N dı́gitos binários $b_1 , b_2 , ... , b_N$ $(b_i ∈ {0, 1})$, representando os elementos da sequência.

Output

Seu programa deve imprimir uma linha contendo a quantidade de subvetores contendo uma quantidade ímpar de uns.


Input Example
Output Example
3
0 1 0
4

10
1 0 0 1 1 0 1 1 1 0
30