#include <bits/stdc++.h>
using namespace std;
void fastIO(){ios_base::sync_with_stdio(false),cin.tie(0);}
#define int long long
const int MOD = (int)1e9 + 7;
int N, K;
int binExpo (int base, int expo) {
int res = 1;
while (expo > 0) {
if (expo % 2 == 1) {
res *= base;
res %= MOD;
}
base *= base;
base %= MOD;
expo /= 2;
}
return res;
}
signed main() {
fastIO();
cin >> N >> K;
K--;
int ans = 1;
int i = 0;
while (K > 0) {
if (K % 2 == 1) {
ans += binExpo(2, N-i-1);
ans %= MOD;
}
K /= 2;
i++;
}
cout << ans << "\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |