#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long ll; typedef pair P; void FWT(vector &v){ int m=v.size(); for(int i=1; i>n>>x; vector v(1<<18), vx(1<<18); ll ans=0; for(int i=0; i>a; v[a]++; vx[a]+=a; ans-=a; } FWT(v); FWT(vx); vector w(1<<18), wx(1<<18); for(int i=0; i<(1<<18); i++) w[i]=v[i]*v[i], wx[i]=vx[i]*v[i]; FWT(w); FWT(wx); for(int i=0; i<(1<<18); i++) w[i]>>=18, wx[i]>>=18; for(int i=0; i