#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;
vector<int> a;
namespace sub1 { /// TONGCHAN_trau
bool check() {
if (n <= 1000) return true;
else return false;
}
void solve() {
cerr << "run sub1: \n"; /// Nen viet 1 dong cerr de quan sat xem no co chay dc sub do hay ko?
int sum = 0;
for (int i = 1; i <= n; i++)
sum += a[i];
int ans = 0;
for (int i = 1; i <= n; i++) {
for (int j = i + 1; j <= n; j++) {
if ((sum - a[i] - a[j]) % 2 == 0)
ans++;
}
}
cout << ans;
}
};
namespace sub2 { /// TONGCHAN.cpp
bool check() {
return n > 1000;
}
int c,l,sum;
void solve() {
cerr << "run sub2: \n"; /// Nen viet 1 dong cerr de quan sat xem no co chay dc sub do hay ko?
for (int i = 1; i <= n; i++) {
sum+=a[i];
if (a[i] % 2 == 0) c++;
else l++;
}
if (sum % 2 == 0)
cout << (c*(c-1)/2) + (l*(l-1)/2);
else cout << c*l;
}
};
signed main() {
freopen("TONGCHAN.INP", "r",stdin);
freopen("TONGCHAN.OUT", "w", stdout);
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
cin >> n;
a.resize(n + 1);
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
/// return sub2::solve(), 0; Neu nhu muon test tung sub
if (sub1::check()) return sub1::solve(), 0;
if (sub2::check()) return sub2::solve(), 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGludCBsb25nIGxvbmcKCmludCBuOwp2ZWN0b3I8aW50PiBhOwoKbmFtZXNwYWNlIHN1YjEgeyAvLy8gICBUT05HQ0hBTl90cmF1CiAgICBib29sIGNoZWNrKCkgewogICAgICAgIGlmIChuIDw9IDEwMDApICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIGVsc2UgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHZvaWQgc29sdmUoKSB7CiAgICAgICAgY2VyciA8PCAicnVuIHN1YjE6IFxuIjsgICAgIC8vLyBOZW4gdmlldCAxIGRvbmcgY2VyciBkZSBxdWFuIHNhdCB4ZW0gbm8gY28gY2hheSBkYyBzdWIgZG8gaGF5IGtvPwogICAgICAgIGludCBzdW0gPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICAgICAgc3VtICs9IGFbaV07CiAgICAgICAgaW50IGFucyA9IDA7CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8PSBuOyBqKyspIHsKICAgICAgICAgICAgICAgIGlmICgoc3VtIC0gYVtpXSAtIGFbal0pICUgMiA9PSAwKQogICAgICAgICAgICAgICAgICAgIGFucysrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgYW5zOwogICAgfQp9OwoKbmFtZXNwYWNlIHN1YjIgeyAgICAvLy8gVE9OR0NIQU4uY3BwCiAgICBib29sIGNoZWNrKCkgewogICAgICAgIHJldHVybiBuID4gMTAwMDsKICAgIH0KCiAgICBpbnQgYyxsLHN1bTsKICAgIHZvaWQgc29sdmUoKSB7CiAgICAgICAgY2VyciA8PCAicnVuIHN1YjI6IFxuIjsgICAgIC8vLyBOZW4gdmlldCAxIGRvbmcgY2VyciBkZSBxdWFuIHNhdCB4ZW0gbm8gY28gY2hheSBkYyBzdWIgZG8gaGF5IGtvPwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICBzdW0rPWFbaV07CiAgICAgICAgICAgIGlmIChhW2ldICUgMiA9PSAwKSAgICAgIGMrKzsKICAgICAgICAgICAgZWxzZSBsKys7CiAgICAgICAgfQogICAgICAgIGlmIChzdW0gJSAyID09IDApCiAgICAgICAgICAgIGNvdXQgPDwgKGMqKGMtMSkvMikgKyAobCoobC0xKS8yKTsKICAgICAgICBlbHNlIGNvdXQgPDwgYypsOwogICAgfQp9OwoKc2lnbmVkIG1haW4oKSB7CiAgICBmcmVvcGVuKCJUT05HQ0hBTi5JTlAiLCAiciIsc3RkaW4pOwogICAgZnJlb3BlbigiVE9OR0NIQU4uT1VUIiwgInciLCBzdGRvdXQpOwogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCksIGNpbi50aWUoMCksIGNvdXQudGllKDApOwogICAgY2luID4+IG47CiAgICBhLnJlc2l6ZShuICsgMSk7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspICB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICB9CgogICAgLy8vIHJldHVybiBzdWIyOjpzb2x2ZSgpLCAwOyAgICAgICAgTmV1IG5odSBtdW9uIHRlc3QgdHVuZyBzdWIKCiAgICBpZiAoc3ViMTo6Y2hlY2soKSkgICAgICAgICAgcmV0dXJuIHN1YjE6OnNvbHZlKCksIDA7CiAgICBpZiAoc3ViMjo6Y2hlY2soKSkgICAgICAgICAgcmV0dXJuIHN1YjI6OnNvbHZlKCksIDA7Cn0K