#include using namespace std; int Dp[1 << 19], Have[1 << 19]; int main() { int n; scanf("%d", &n); for(int i = 0; i < n; ++i) { int x; scanf("%d", &x); Have[x] = 1; } for(int i = 0; i < 19; ++i) for(int j = 0; j < (1 << 19); ++j) if(j & (1 << i)) Dp[j] |= Dp[j ^ (1 << i)] | ((j ^ (1 << i)) & -Have[j ^ (1 << i)]); int useless = 0; for(int i = 0; i < (1 << 19); ++i) if(Have[i] && i == Dp[i]) useless++; printf("%d\n", n - useless); return 0; }