#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int mod = 1000000007, N = 20;
int main(){
cin.tie(0)->sync_with_stdio(0);
ll n, k;
cin>>n>>k;
--k;
vector<ll> v(n);
for(int i = 0; i < n; ++i){
v[i] = k & 1;
k /= 2;
}
reverse(v.begin(), v.end());
ll x = 1;
ll ans = 0;
for(int i = 0; i < n; ++i){
ans += x * v[i];
x *= 2;
x %= mod;
ans %= mod;
}
cout<<ans + 1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |