矩形裁剪

题目描述

对于一张每个格子互不相同的矩形纸片,你有以下两种操作:

  • 选择一个格子,将它所在列剪掉,把它的左右两边拼起来。
  • 选择一个格子,将它所在行剪掉,把它的上下两边拼起来。

f(n,m)f(n,m) 表示对一个 n×mn\times m 的矩形进行尽可能多次操作的前提下的方案数(两个方案不同当且仅当存在某个操作在第一种方案中被执行但在第二种没有)对 998244353998244353 取模的结果。给定 N,MN,M,对所有 n[1,N]n\in [1,N]m[1,M]m\in [1,M],求出 f(n,m)f(n,m)

注意,在操作中选择的格子只要不同,就会被记作两种不同操作,即使它们结果是一样的。

注意,在操作中只要选择的格子相同且方向相同,就会被记作两种相同的操作,即使它们的结果不一样。

输入格式

两个正整数 N,MN,M

输出格式

一个 N×MN\times M 大小的矩形,第 ii 行第 jj 个为 f(i,j)f(i,j)

样例

2 2
2 3
3 16

数据范围

1N,M3001\le N,M\le 300

国庆提高/省选组比赛

Attended
Status
Live... (Attended)
Rule
IOI
Problem
40
Start at
2025-10-15 19:32
End at
2025-11-16 0:00
Duration
1104 hour(s)
Host
Partic.
85