#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  long long res = 0;
  int pares = 1;
  int impares = 0;
  int acumulado[n + 1];
  acumulado[0] = 0;
  int original[n + 1];
  long long potencias[61];
  potencias[0] = 1;
  for (int i = 1; i < 61; i++) potencias[i] = potencias[i - 1] * 2;
  for (int i = 1; i <= n; i++) {
    int cont = 0;
    long long k;
    cin >> k;
    for (int j = 0; j < 61; j++) {
      if (potencias[j] & k) cont++;
    }
    original[i] = cont;
    acumulado[i] = acumulado[i - 1] + cont;
    if (acumulado[i] % 2 == 0) {
      res += pares;
      pares++;
    } else {
      res += impares;
      impares++;
    }
  }
  for (int i = 0; i <= n; i++) {
    int maior = 0;
    for (int j = i + 1; j <= min(i + 63, n); j++) {
      maior = max(maior, original[j]);
      if ((acumulado[j] - acumulado[i]) % 2 == 0 and
          (acumulado[j] - acumulado[i]) / 2 < maior)
        res--;
    }
  }
  cout << res << endl;
}
