#include<bits/stdc++.h>
#define str string
#define ll long long
#define db double
#define pii pair<int, int>
#define piii pair<int, pii>
#define piiii pair<pii, pii>
#define se second
#define fi first
#define vi vector<int>
#define vii vector<vector<int>>
#define mpii map<int, int>
#define umpii unordered_map<int, int>
#define si set<int>
#define usa unordered_set<int>
#define mulsi multiset<int>
using namespace std;
const int mod=1e9+7;
const int maxn=1e5+1;
int boy[2];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
boy[0] = 1;
int n; cin >> n;
ll skibidi = 0, sigma = 0, uwu = 0;
while(n--){
ll toilet; cin >> toilet;
(skibidi += toilet) %= 2;
sigma += boy[skibidi];
boy[skibidi]++;
if(toilet % 2 == 0) ++uwu;
}
cout << sigma - uwu;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBzdHIgc3RyaW5nCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZGIgZG91YmxlCiNkZWZpbmUgcGlpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgcGlpaSBwYWlyPGludCwgcGlpPgojZGVmaW5lIHBpaWlpIHBhaXI8cGlpLCBwaWk+CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHZpaSB2ZWN0b3I8dmVjdG9yPGludD4+CiNkZWZpbmUgbXBpaSBtYXA8aW50LCBpbnQ+CiNkZWZpbmUgdW1waWkgdW5vcmRlcmVkX21hcDxpbnQsIGludD4KI2RlZmluZSBzaSBzZXQ8aW50PgojZGVmaW5lIHVzYSB1bm9yZGVyZWRfc2V0PGludD4KI2RlZmluZSBtdWxzaSBtdWx0aXNldDxpbnQ+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgbW9kPTFlOSs3Owpjb25zdCBpbnQgbWF4bj0xZTUrMTsKCmludCBib3lbMl07CgppbnQgbWFpbigpewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7IGNvdXQudGllKDApOwoJYm95WzBdID0gMTsKICAgIGludCBuOyBjaW4gPj4gbjsKICAgIGxsIHNraWJpZGkgPSAwLCBzaWdtYSA9IDAsIHV3dSA9IDA7CiAgICB3aGlsZShuLS0pewogICAgICAgIGxsIHRvaWxldDsgY2luID4+IHRvaWxldDsKICAgICAgICAoc2tpYmlkaSArPSB0b2lsZXQpICU9IDI7CiAgICAgICAgc2lnbWEgKz0gYm95W3NraWJpZGldOwogICAgICAgIGJveVtza2liaWRpXSsrOwogICAgICAgIGlmKHRvaWxldCAlIDIgPT0gMCkgKyt1d3U7CiAgICB9CiAgICBjb3V0IDw8IHNpZ21hIC0gdXd1OwoJcmV0dXJuIDA7Cn0=