有一个 n 行 m 列的网格。用 (i,j) 表示从上到下第 i 行、从左到右第 j 列的格子。
两个格子 (a,b) 和 (c,d) 之间的距离定义为
∣a−c∣+∣b−d∣.
现在有两台巡检机器人同时从 (1,1) 出发。每一秒,每台机器人都必须选择向下移动一格或向右移动一格,两台机器人可以选择相同方向,也可以选择不同方向。它们最终都需要到达位于 (n,m) 的终点。
为了保持通信稳定,在任意时刻,两台机器人之间的距离都必须不超过 k。请计算满足条件的同步移动方案数。
两种方案被认为不同,当且仅当存在某个时刻,使得两台机器人在其中一个方案中的位置对,与另一个方案中的位置对不完全相同。
答案可能很大,请输出其对 998244353 取模后的结果。
输入格式
第一行三个整数 n,m,k。
输出格式
输出一行一个整数,表示满足条件的方案数对 998244353 取模后的结果。
样例 1 输入
3 3 1
样例 1 输出
6
样例 2 输入
5 5 3
样例 2 输出
3334
样例 3 输入
114 514 19
样例 3 输出
163412296
数据范围
保证对于所有数据满足 2≤n,m≤2×105,0≤k≤n+m−2。
| 测试点编号 |
n,m≤ |
k |
| 1 |
100 |
|
| 2−3 |
500 |
| 4−5 |
2000 |
| 6−8 |
105 |
| 9−12 |
≤300 |
| 13−16 |
≥300 |
| 17−20 |
2×105 |
|
测试点 6−8 额外满足 n≤2000。