#include "bits/stdc++.h" using namespace std; typedef long long ll; const int INF = (1<<30); const ll INFLL = (1ll<<60); const ll MOD = (ll)(1e9+7); #define l_ength size void mul_mod(ll& a, ll b){ a *= b; a %= MOD; } void add_mod(ll& a, ll b){ a = (a> n >> k; for(i=0; i> a[i]; } a[k] = 0ll; a[k+1] = ((1ll<a[i-1]))){ ans = 0ll; break; } m = __builtin_popcountl(a[i-1]^a[i]); for(j=1; j<=m; ++j){ mul_mod(ans,j); } } cout << ans << endl; return 0; }