#include using namespace std; #define REP(i,a,n) for(int i=(a); i<(int)(n); i++) #define rep(i,n) REP(i,0,n) #define FOR(it,c) for(__typeof((c).begin()) it=(c).begin(); it!=(c).end(); ++it) #define ALLOF(c) (c).begin(), (c).end() typedef long long ll; typedef unsigned long long ull; const static ll MOD = 1000000007LL; ll extgcd(ll a, ll b, ll &x, ll &y){ ll d = a; if(b!=0){ d = extgcd(b,a%b,y,x); y -= (a/b)*x; }else{ x = 1; y = 0; } return d; } ll mod_inverse(ll a, ll m){ ll x, y; extgcd(a, m, x, y); return (m+x%m)%m; } ll sum(ll a, ll d, ll n){ a %= MOD; d %= MOD; n %= MOD; ll x = (n==0)?MOD-1:n-1; ll ret = n; ret *= ((2*a) % MOD + (x * d) % MOD) % MOD; ret %= MOD; ret *= mod_inverse(2, MOD); ret %= MOD; return ret; } ll calc(ll k, ll N){ ll a = 1LL<<(k-1); ll p = 1LL<> N; ll ret = 0; rep(i,63){ ret += calc(i+1, N); ret %= MOD; } cout << ret << endl; return 0; }