#include using namespace std; #define int long long #define MOD (int)(1e9+7) int bitnum(int n){ int res=n%2; while(n/=2)res+=n%2; return res; } int mul(int a,int b){ return ((a%MOD)*(b%MOD))%MOD; } int fact(int k){ if(!k)return 1; return mul(k,fact(k-1)); } signed main(){ int n,k,r=1; cin>>n>>k; if(!k){ cout< a(k),b(k,0); cin>>a[0]; b[0]=bitnum(a[0]); for(int i=1;i>a[i]; b[i]=bitnum(a[i]); if(a[i]<=a[i-1]||b[i]<=b[i-1]||bitnum(a[i]-a[i-1])!=bitnum(a[i])-bitnum(a[i-1])){ cout<<0<