readints=lambda:map(int, input().strip('\n').split())
mod=10**9+7
n,k=readints()
def f(n,k):
if n==0: return 1
if k>(2**n)//2:
return 2*f(n-1,k-(2**n)//2)
else:
return 2*f(n-1,k)-1
res = f(n,k)
res %= mod
res += mod
res %= mod
print(res)
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
2924 KB |
Output is correct |
2 |
Correct |
16 ms |
2924 KB |
Output is correct |
3 |
Correct |
16 ms |
2796 KB |
Output is correct |
4 |
Correct |
16 ms |
2796 KB |
Output is correct |
5 |
Correct |
16 ms |
2796 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
2924 KB |
Output is correct |
2 |
Correct |
16 ms |
2924 KB |
Output is correct |
3 |
Correct |
16 ms |
2796 KB |
Output is correct |
4 |
Correct |
16 ms |
2796 KB |
Output is correct |
5 |
Correct |
16 ms |
2796 KB |
Output is correct |
6 |
Correct |
16 ms |
2796 KB |
Output is correct |
7 |
Correct |
16 ms |
2796 KB |
Output is correct |
8 |
Correct |
16 ms |
2796 KB |
Output is correct |
9 |
Correct |
16 ms |
2796 KB |
Output is correct |
10 |
Correct |
16 ms |
2924 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
2924 KB |
Output is correct |
2 |
Correct |
16 ms |
2924 KB |
Output is correct |
3 |
Correct |
16 ms |
2796 KB |
Output is correct |
4 |
Correct |
16 ms |
2796 KB |
Output is correct |
5 |
Correct |
16 ms |
2796 KB |
Output is correct |
6 |
Correct |
16 ms |
2796 KB |
Output is correct |
7 |
Correct |
16 ms |
2796 KB |
Output is correct |
8 |
Correct |
16 ms |
2796 KB |
Output is correct |
9 |
Correct |
16 ms |
2796 KB |
Output is correct |
10 |
Correct |
16 ms |
2924 KB |
Output is correct |
11 |
Correct |
17 ms |
2796 KB |
Output is correct |
12 |
Correct |
18 ms |
3400 KB |
Output is correct |
13 |
Runtime error |
31 ms |
3692 KB |
Execution failed because the return code was nonzero |
14 |
Halted |
0 ms |
0 KB |
- |