CF37D Lesson Timetable

题目描述

P 某人所在的大学有 $m$ 间教室,$n$ 个小组($n$ 未知),对于第 $i$ 间教室,初始时有 $x_i$ 组在这个教室,且这个教室最多可以供 $y_i$ 组同时上课。 每组学生第一次上课的教室的编号小于等于第二次上课的教室的编号。 P 某人想为这些小组制定时间表,时间表有 $2n$ 个数,对于每个组,求第一节课和第二节课的教室标号。 你只需要求出共有多少种分组方法,不需求出具体方案。 由于答案可能很大,需要你将输出对 $10^9+7$ 取模。

输入格式

第一行包含一个整数 $m$ 表示教室的数量。 第二行包含 $m$ 个以空格分隔的整数 $x_i$ 表示教室中的小组数量。 第三行包含 $m$ 以空格分隔的整数 $y_i$ 表示教室中可同时容纳的最大人数。

输出格式

在单行输出问题的答案(计划表的数量取模 $10^9+7$)。

说明/提示

### 【样例 $2$ 解释】 在第二个样例中,每组的第一课和第二课必须安排在同一教室,因此课程表方案不同取决于每组使用的教室编号的排列上有所不同,故答案为 $3! = 6$。 ### 【数据范围与约束】 对于 $100\%$ 的测试数据: - $1\leq m \leq 100$。 - $0\leq x_i, y_i \leq 100$。 - 保证所有 $x_i \leq y_i$,以及所有 $x_i$ 之和为正且不超过 $1000$。