#include using namespace std; using Int = long long; const char newl = '\n'; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a void drop(const T &x){cout< vector read(size_t n){ vector ts(n); for(size_t i=0;i>ts[i]; return ts; } //INSERT ABOVE HERE const Int LOG = 18; Int all[1<>n>>x; auto as=read(n); Int k=LOG; while((~x>>k)&1) k--; Int ans=0; for(Int i=0;i<=k;i++){ if((~x>>i)&1) continue; Int y=(x>>(i+1))<<(i+1); memset(all,0,sizeof(all)); for(Int a:as) all[(a>>i)<>i)<>j)&1; for(Int j=0;j>j)&1) ans+=(all[y^((a>>i)<>i)<>j)&1))*(1<