在科学研究中,指数增长的序列经常出现。一些研究特别关注长度为 $n$ 的整数数组,其中每个元素至少是前一个元素的两倍:形式化地,对于 $1 \le i \le n - 1$,满足 $2 \cdot a_i \le a_{i+1}$。他们想要计算满足此条件的有界数组的数量。
请帮助他们!计算由 $1$ 到 $c$ 之间的整数组成的此类数组的数量。由于这个数字可能非常大,你需要将其对 $998\,244\,353$ 取模后输出。
输入格式
仅一行,包含两个整数 $n$ 和 $c$ ($1 \le n \le 60; 1 \le c \le 10^{18}$),分别表示数组的长度和元素的最大值。
输出格式
输出满足条件的数组数量,对 $998\,244\,353$ 取模。
样例
样例输入 1
1 5
样例输出 1
5
样例输入 2
3 6
样例输出 2
4
样例输入 3
15 179
样例输出 3
0
样例输入 4
35 1234567887654321
样例输出 4
576695683
说明
在第一个样例中,有 5 个不同的数组:$[1], [2], [3], [4], [5]$。
在第二个样例中,有 4 个不同的数组:$[1, 2, 4], [1, 2, 5], [1, 2, 6], [1, 3, 6]$。
在第三个样例中,没有满足条件的数组。