#include <bits/stdc++.h>
using namespace std;
int i, j, x, y, k, n, v[25], N, I;
pair<int, int> T[100];
bool f[2000001];
int main() {
  cin >> n;
  for (i = 1; i <= n; i++) {
    scanf("%d", &x);
    if (x == 0) {
      if (!f[0]) N++;
      f[0] = 1;
      goto BOLO;
    }
    for (I = 0; I < 20; I++)
      if (x & (1 << I)) v[I] = i;
    for (I = 0; I < 20; I++) T[I] = make_pair(v[I], I);
    sort(T, T + 20);
    y = 0;
    for (I = 19; I >= 0; I--)
      if (T[I].first) {
        y += (1 << T[I].second);
        while (T[I].first == T[I - 1].first && T[I - 1].first && I > 0) {
          I--;
          y += (1 << T[I].second);
        }
        if (!f[y]) {
          N++;
        }
        f[y] = 1;
      }
  BOLO : {}
  }
  cout << N << endl;
}
