#include <bits/stdc++.h>
using namespace std;
const long long nInf = -1000000000;
const long long pInf = 1000000000;
const long long mod = 1000000007;
const int MAXN = 100010;
void getdata();
void preproc();
void solve();
int n, a[MAXN];
int main() {
  int t = 1;
  for (int i = 0; i < t; i++) {
    getdata();
    preproc();
    solve();
  }
  return 0;
}
void getdata() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }
}
void preproc() {}
void solve() {
  set<int> res;
  set<int> cur;
  cur.insert(a[0]);
  res.insert(a[0]);
  for (int i = 1; i < n; i++) {
    set<int> loc;
    loc.insert(a[i]);
    for (auto it = cur.begin(); it != cur.end(); it++) {
      loc.insert(a[i] | (*it));
    }
    cur = loc;
    res.insert(cur.begin(), cur.end());
  }
  printf("%d\n", (int)res.size());
}
