#include using namespace std; int invert(int x) { return (1 << 19) - 1 - x; } int main() { int n; scanf("%d", &n); vector v(n, 0); vector has((1 << 19), 0); vector 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); }