一条鲸鱼优雅地游动着,它的尾鳍浮出水面。这是一个铺砖问题。
确定用 T 型砖铺满 $H \times W$ 网格的方法数,如下图所示。计算结果对 998244353 取模。
使用 T 型砖铺满网格时,必须满足以下条件:
- 砖块必须沿网格单元放置。
- 砖块不得超出网格边界。
- 不同的砖块不得覆盖同一个网格单元。
- 不应有任何网格单元未被砖块覆盖。
此外,砖块可以旋转使用,不区分正反面,也不区分不同的砖块。此外,仅在旋转或翻转后才能重合的铺砖方案被视为不同的方案。
输入格式
输入通过标准输入给出,格式如下:
$H \ W$
- 输入中的所有值均为整数。
- $1 \le H \le 30$
- $1 \le W \le 10^{18}$
输出格式
输出答案。
样例
输入 1
4 4
输出 1
2
输入 2
2 8
输出 2
0
输入 3
12 3456
输出 3
491051233
说明
在第一个样例中,用砖块铺满网格有两种可能的方法,如下所示:
在第二个样例中,没有办法用砖块铺满网格。