#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 1e6 + 5;
long long n,a[MaxN];
void input()
{
cin >> n;
for (long long i=1; i<=n; i++)
{
cin >> a[i];
}
}
void solve()
{
long long cnt0=1, cnt1=0, ans=0, sum=0;
for (long long i=1;i<=n; i++)
{
sum^=a[i];
if(__builtin_popcountll(sum)&1)
{
ans+=cnt0;
cnt1++;
}
else
{
ans+=cnt1;
cnt0++;
}
}
cout << ans;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
input();
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSAxZTYgKyA1Owpsb25nIGxvbmcgbixhW01heE5dOwp2b2lkIGlucHV0KCkKewogICAgY2luID4+IG47CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PW47IGkrKykKICAgIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KfQp2b2lkIHNvbHZlKCkKewogICAgbG9uZyBsb25nIGNudDA9MSwgY250MT0wLCBhbnM9MCwgc3VtPTA7CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7aTw9bjsgaSsrKQogICAgewogICAgICAgIHN1bV49YVtpXTsKICAgICAgICBpZihfX2J1aWx0aW5fcG9wY291bnRsbChzdW0pJjEpCiAgICAgICAgewogICAgICAgICAgICBhbnMrPWNudDA7CiAgICAgICAgICAgIGNudDErKzsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgYW5zKz1jbnQxOwogICAgICAgICAgICBjbnQwKys7CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCBhbnM7Cgp9CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBpbnB1dCgpOwogICAgc29sdmUoKTsKfQoK