#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<bool> vb;
ll const MOD = 1e9 + 7;
int main(){
ll n,k;
cin >> n >> k;
k--;
vb bits(n);
for(int i = 0;k;i++,k>>=1) bits[i] = k&1;
reverse(bits.begin(),bits.end());
ll p = 1,ans = 1;
for(int i = 0;i < n;i++){
if(bits[i]) ans += p;
p *= 2;
ans %= MOD;
p %= MOD;
}
cout << ans;
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... |