#SummerP0067. 欢迎来南京晓庄学院参加团体程序设计天梯赛 Rev1.0
欢迎来南京晓庄学院参加团体程序设计天梯赛 Rev1.0
Description
团体程序设计天梯赛即将在南京晓庄学院举行。作为本次比赛的机房座位安排负责人,Albert_Li 遇到了一个棘手的问题。
比赛机房中共有 行 列座位,每个座位恰好安排一名参赛学生。
本次比赛共有 所学校参加,第 所学校有 名学生。所有学生均视为不同的个体,例如同一学校的两名学生交换座位后,应当视为一种新的座位安排方案。
为了促进不同学校选手之间的交流,Albert_Li 希望满足下面的要求:
- 任意两个上下或左右相邻的座位上,都不能坐来自同一所学校的学生。
两个座位只有在它们共享一条边时才认为相邻。对于位于机房边界的座位,越过边界的方向不存在相邻座位,因此无需考虑。
现在请你计算,一共有多少种不同的学生座位安排方案满足上述要求。
Format
Input
第一行给出三个正整数 ,分别表示机房的行数、列数和参赛学校数量。
第二行给出 个正整数 ,其中 表示第 所学校的参赛学生人数。
保证 。
Output
输出一个整数,表示满足要求的不同座位安排方案数。
如果不存在合法的安排方案,输出 0。
Samples
2 2 2
2 2
8
2 3 3
2 2 2
96