#include <bits/stdc++.h>
using namespace std;

int invert(int x) {
    return (1 << 19) - 1 - x;
}

int main() {
    int n; scanf("%d", &n);
    
    vector<int> v(n, 0);
    vector<int> has((1 << 19), 0);
    vector<int> is((1 << 19), 0);

    for(int i = 0; i < n; ++i) {
        scanf("%d", &v[i]);
        is[v[i]] = 1;
    }
    
    int ans = n;
    
    for(int mask = 1; mask < (1 << 19); ++mask) {
    
        for(int i = 0; i < 19; ++i)
            if((1 << i) & mask)
                has[mask] |= (has[mask - (1 << i)]);
        
        if(has[mask] == mask and is[mask])
            ans--;
        
        if(is[mask])
            has[mask] = mask;
    }
    
    printf("%d\n", ans);
}