[Cnoi2019] 雪松树之约

题目背景

由于Cirno突然犯懒, 所以背景故事咕咕咕了。

题目描述

Cirno 定义了一种图:圆柱网络 $G( L, x )$ 。 $G(L, x)$ 表示一个有 $L \times x$ 个节点的图。 其中每个节点用一个整数二元组 $( a, b )$ 表示 $( 1 \le a \le L, 1 \le b \le x )$。 对于 $ \forall i \in (1,L], \ j \in (0,x]$ , 节点 $(i, j)$ 与节点 $(i - 1, j)$ 之间有一条边。 对于 $ \forall i \in [1,L], \ j \in (0,x)$ , 节点 $(i, j)$ 与节点 $(i, j +1)$ 之间有一条边。 对于 $ \forall i \in [1,L]$ 节点 $(i, x)$ 与 节点 $(i, 1)$ 之间有一条边。 现在 Cirno 想知道 $G( L, x )$ 的 **独立集** 的个数。 由于你不会高精度,所以你需要将答案对 $998244353$ 取模。

输入输出格式

输入格式


一行,两个整数, $L$, $x$。

输出格式


一行,一个整数,表示 $G(L,x)$ 的独立集的个数对 $998244353$ 取模后的结果。

输入输出样例

输入样例 #1

3 4

输出样例 #1

181

输入样例 #2

1000 8

输出样例 #2

124141757

说明

对于 前 10% 的数据 $ L, x \le 8 $。 对于 前 30% 的数据 $ x \le 8 $。 对于 前 50% 的数据 $ x \le 11 $。 对于 100% 的数据 $0 < L \le 10^{18}, 0 <x \le 17 $。 本题采用捆绑测试。 下图 是 $G( 3, 4 )$ 的示例图。 ![](https://cdn.luogu.com.cn/upload/pic/56163.png)