#CF1503E. 双色染色

双色染色

双色染色

  • 时间限制:3 秒
  • 内存限制:256 MiB

题目描述

给定一个 nn 行 mm 列的网格,每个格子染成蓝色或黄色。

若每一行恰好有一段非空连续蓝色格子,并且每一列恰好有一段非空连续黄色格子, 则称该染色是合法的。

合法染色示意图

下图给出不合法的例子:第一幅的第二行没有蓝色格子;第二幅的第二列有两段黄色格子。

不合法染色示意图

求不同合法染色的数量。若至少一个格子的颜色不同,则两种染色不同。

输入格式

输入一行两个整数 n,mn,m。

输出格式

输出合法染色数量对 998244353998244353 取模的结果。

样例输入 1

2 2

样例输出 1

2

样例输入 2

4 3

样例输出 2

294

样例输入 3

2020 2021

样例输出 3

50657649

数据范围

对于所有数据,1≤n,m≤20211\le n,m\le2021。

子任务编号 分值 特殊限制
1 30 nm≤20nm\le20
2 n,m≤80n,m\le80
3 40 无特殊限制

提示

2×22\times2 网格恰有两种合法染色:

样例染色