#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 10;
int a[N];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long ans = 0;
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    long long x;
    cin >> x;
    while (x) {
      if (x & 1) a[i]++;
      x >>= 1;
    }
  }
  int od = 0, ev = 0;
  for (int i = 1; i <= n; i++) {
    int l = max(1, i - 130);
    int t = a[i], mx = a[i];
    for (int j = i - 1; j >= l; j--) {
      t = t + a[j];
      mx = max(mx, a[j]);
      if (t - mx >= mx && t % 2 == 0) {
        ans++;
      }
    }
    if (i >= 131) {
      if (t & 1) {
        ans += od;
      } else {
        ans += ev;
      }
      if (a[i - 130] & 1) {
        swap(od, ev);
        od++;
      } else {
        ev++;
      }
    }
  }
  cout << ans << endl;
  return 0;
}
