#agc013d. [agc013_d]Piling Up
[agc013_d]Piling Up
题目描述
Joisino有许多红色和蓝色的砖块以及一个大箱子。她将按照以下方式用这些砖块建造塔楼。
首先,她会挑选总共 个砖块放入箱子中。在这里,箱子中每种颜色的砖块数量可以任意,只要总数是 即可。特别地,红色砖块或蓝色砖块的数量可以为零。然后,她将重复进行 次操作,每次操作包括以下三个步骤:
- 从箱子中取出一个任意的砖块。
- 放入一个红色砖块和一个蓝色砖块到箱子中。
- 从箱子中再取出一个任意的砖块。
经过 次操作之后,Joisino将按照从箱子中取出的顺序依次堆叠起来,形成 个砖块的塔楼。她感兴趣的问题是:这 个砖块的颜色序列有多少种可能性?请编写程序求出答案。由于答案可能非常大,输出计数对 取模的结果。
约束条件
输入
从标准输入读入输入数据,具体格式如下:
输出
打印出可能的 个砖块颜色序列的不同组合数量,对 取模。
示例输入 1
2 3
示例输出 1
56
总共将从箱子中取出六个砖块。唯一不可能的颜色序列是第二个、第三个、第四个和第五个砖块的颜色都相同的序列。因此,有 种可能的颜色序列。
示例输入 2
1000 10
示例输出 2
1048576
示例输入 3
1000 3000
示例输出 3
693347555