#codefestival2015okinawag. [code_festival_2015_okinawa_g]Gorgeous Vases
[code_festival_2015_okinawa_g]Gorgeous Vases
题目
猫Snuke有一对花瓶。一个被标记为花瓶,另一个被标记为花瓶。最初,花瓶中有朵蓝色的花和朵红色的花。此外,蓝花的数量大于等于红花的数量,即。另外,花瓶是空的,不含蓝花和红花。
顺便说一下,猫Snuke不喜欢将特定数量的红花与特定数量的蓝花混合在一起。这种组合被称为肮脏的放置。总共有种不同的肮脏的放置,第个肮脏的放置是恰好朵蓝色的花和朵红色的花的组合。
猫Snuke想要将花瓶中的所有花一次移动到花瓶中。然而,猫Snuke必须遵循以下规则:
- 对于花瓶和花瓶,蓝花的数量应始终大于或等于红花的数量。
- 对于花瓶和花瓶,蓝花的数量和红花的数量的组合不能是肮脏的放置(任何时候)。
根据上述规则,回答可以将花瓶中的所有花移动到花瓶中的所有可能方法的数量,对取模。请注意,具有相同颜色的所有花都是不可区分的(相同的)。
输入
输入将通过标准输入以以下格式给出
:
- 对于第一行,用空格分隔给出、。
- 从第二行开始,有行附加行,分别给出所有的肮脏的放置。对于第行,用空格分隔给出整数、。
输出
请输出可以将花瓶中的所有花移动到花瓶中的所有可能方法数量除以后的余数。
在输出结束时打印一个换行符。
输入示例 1
3 1 0
输出示例 1
2
如下所示,有两种可以移动花朵的方式。
- 移动顺序为蓝色,蓝色,红色,蓝色。
- 移动顺序为蓝色,红色,蓝色,蓝色。
输入示例 2
7 5 3
4 2
6 1
5 4
输出示例 2
0
输入示例 3
98765 43210 5
314 159
26535 8979
3238 46
26433 8327
950 288
输出示例 3
763788532