#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long MOD = 1000000007; int main() { int N; cin >> N; vector A(N); int dp[(1<<15)+1] = {0}; for ( int i = 0; i < N; i++ ) { cin >> A[i]; } dp[0] = 1; for ( int i = 0; i < N; i++ ) { vector x; for ( int j = 0; j <= (1<<15); j++ ) { if ( dp[j] ) { x.push_back( j ^ A[i] ); } } for ( auto& a : x ) { dp[a] = 1; } } int ans = 0; for ( int j = 0; j <= (1<<15); j++ ) { if ( dp[j] ) { ans++; } } cout << ans << endl; return 0; }