#include <bits/stdc++.h>
using namespace std;
long long up[100];
long long b[300000 + 100];
long long suf[2];
long long w[2];
long long a[300000 + 100];
int main() {
  ios_base::sync_with_stdio(0);
  int n;
  cin >> n;
  up[0] = 1;
  for (int i = 1; i < 60; i++) {
    up[i] = 1ll * 2 * up[i - 1];
  }
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    int cnt = 0;
    for (int j = 0; j < 60; j++) {
      if ((up[j] & a[i])) {
        cnt++;
      }
    }
    b[i] = cnt;
  }
  long long ans = 0;
  for (int i = n - 1; i >= 0; i--) {
    int ind = min(n, i + 65);
    long long sum = 0;
    long long mx = 0;
    long long add = 0;
    for (int j = i; j < ind; j++) {
      mx = max(mx, b[j]);
      sum += b[j];
      if (sum - mx < mx && sum % 2 == 0) {
        add--;
      }
    }
    if (b[i] % 2 == 0) add++;
    if (b[i] % 2 == 0)
      add += suf[0];
    else
      add += suf[1];
    ans += add;
    if (b[i] % 2 == 0) {
      suf[0]++;
    } else {
      w[0] = suf[0];
      suf[0] = suf[1];
      suf[1] = w[0] + 1;
    }
  }
  cout << ans;
  return 0;
}
