#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const double eps = 1e-6;
const int INF = 0x3f3f3f3f;
const int MAXN = 3e5 + 10;
long long a[MAXN], sum[MAXN][2];
int n, cnt[MAXN];
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) scanf("%lld", &a[i]);
  for (int i = 1; i <= n; i++)
    for (int j = 0; j < 63; j++)
      if (a[i] & (1ll << j)) cnt[i]++;
  sum[0][0] = 1;
  sum[0][1] = 0;
  int tot = 0;
  for (int i = 1; i <= n; i++) {
    sum[i][0] = sum[i - 1][0];
    sum[i][1] = sum[i - 1][1];
    tot += cnt[i];
    if (tot & 1)
      sum[i][1]++;
    else
      sum[i][0]++;
  }
  long long ans = 0;
  for (int l = 1; l <= n; l++) {
    int up = min(l + 127, n);
    int mx = -INF;
    tot = 0;
    for (int i = l; i <= up; i++) {
      mx = max(mx, cnt[i]);
      tot += cnt[i];
      if (!(tot & 1) && tot >= mx * 2) ans++;
    }
  }
  tot = 0;
  for (int i = 1; i <= 128; i++) tot += cnt[i];
  for (int i = 129; i <= n; i++) {
    tot += cnt[i];
    if (tot & 1)
      ans += sum[i - 129][1];
    else
      ans += sum[i - 129][0];
  }
  cout << ans << endl;
  return 0;
}
