我们有一个 H×W 的网格图。不妨用 (i,j) 来表示从上往下第 i 行,从左往右第 j 列的格子。
假设整个网格图是一个环面。也就是说,除了水平或竖直相邻的格子之外,我们认为以下两种情况的格子也是相邻的:
-
(i,1) 和 (i,W),其中 1≤i≤H;
-
(1,j) 和 (H,j),其中 1≤j≤W。
考虑用碎片将这个网格图上的一些格子覆盖。我们规定,每片碎片最多只能覆盖一个格子,且不能存在两片碎片覆盖了相邻的格子。
令 L 表示这个网格图上最多能被同时覆盖的格子数量,你需要求出有多少种方案来放置碎片,使 L 个格子被覆盖。由于答案可能很大,你只需要输出答案模 998244353 的值。
输入格式
一行,两个正整数 H 和 W。
输出格式
一行,一个正整数表示答案。
数据范围
2≤H≤105,2≤W≤1010,满足 H 和 W 都是整数。
样例解释
对于样例 1,以下六种摆放方式可以满足条件(用 # 来表示放置碎片,用 . 表示不放碎片):
#. #. .# .# .. ..
.# .. #. .. #. .#
.. .# .. #. .# #.