Gửi bài giải


Điểm: 0,53 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
NTT
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Xét tập số nguyên ~S~. Ban đầu tập chỉ chứa số 1.

Một lần biến đổi ~S~, người ta làm theo cách sau:

- Thay thế mỗi số nguyên ~x~ trong ~S~ bằng 2 số mới là ~2x+1~ và ~3x+1~

Yêu cầu: Cho hai số ~N~ và ~M~ ~(1 \le N \le 31, 1 \le M \le 2^N)~. Sau ~N~ lần biến đổi ~S~, hãy xác định số thứ ~M~ trong ~S~, nếu ~S~ được sắp xếp theo thứ tự tăng dần.

Input

Gồm nhiều dòng, mỗi dòng chứa hai số ~N~ và ~M~, có không quá 5000 input.

Output

Mỗi dòng là kết quả tương ứng với input, kết quả là số int64 (Pascal) hoặc long long int (C, C++)

Sample Input

2 4
3 2

Sample Output

13
19

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.