#agc021f. [agc021_f]Trinity
[agc021_f]Trinity
题目描述
我们有一个 的网格。第 行第 列的方格用 表示。特别地,左上角的方格用 表示,右下角的方格用 表示。Takahashi 将一些方格涂成黑色(可能为零),将其他方格涂成白色。
我们定义一个长度为 的整数序列 ,和两个长度为 的整数序列 和 ,具体如下:
- 对于 , 是最小的 ,使得方格 被涂成黑色,如果不存在则取 。
- 对于 , 是最小的 ,使得方格 被涂成黑色,如果不存在则取 。
- 对于 , 是最大的 ,使得方格 被涂成黑色,如果不存在则取 。
有多少个三元组 是可能的?计算结果模 。
注意事项
在该问题中,你的代码长度不能超过 字节。请注意,长度超过限制的提交将会被作废。
约束条件
- 和 是整数。
分数说明
- 对于满足 的测试数据,你可以获得 分。
输入
从标准输入读入输入数据,格式如下:
输出
输出三元组 的数量,结果要模 。
示例输入 1
2 3
示例输出 1
64
由于 ,给定 和 ,我们可以唯一确定每列黑色方格的排列方式。对于每个 ,存在四种可能的 :、、 和 。因此答案为 。
示例输入 2
4 3
示例输出 2
2588
示例输入 3
17 13
示例输出 3
229876268
示例输入 4
5000 100
示例输出 4
57613837