#include <bits/stdc++.h>
using namespace std;
int const MOD=1000000007;
int const NMAX=1000005;
int pow2[NMAX];
int main()
{
int n;
long long k;
cin>>n>>k;
int i;
pow2[0]=1;
for(i=1;i<NMAX;++i)
pow2[i]=2*pow2[i-1]%MOD;
--k;
int sum=1;
for(i=0;i<64;++i)
if(k&(1LL<<i))
sum=(sum+pow2[n-i-1])%MOD;
cout<<sum;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |