#include <bits/stdc++.h>

using namespace std;

int Read() {
	static char c;
	int ret;
	for(c = getchar(); !isdigit(c); c = getchar());
	for(ret = 0; isdigit(c); c = getchar())
		ret = ret * 10 + c - '0';
	return ret;
}

int main() {
	int n = Read();
	vector<int> DP1(1 << 20), DP2(1 << 20);
	while(n--) {
		int x = Read();
		DP1[x] = x;
	}

	int ans = 0;

	for(int i = 0; i < (1 << 20); ++i) {
		if(DP1[i] == i) {
			// cerr << i << " ";
			if(DP2[i] != i) {
				ans += 1;
				DP2[i] = i;
			}
		}

		for(int j = 0; j < 20; ++j) {
			DP1[i | (1 << j)] |= DP1[i];
			DP2[i | (1 << j)] |= DP2[i];
		}
	}

	cout << ans << endl;

	return 0;
}