#P6552. Union

    ID: 5409 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>2019中国大学生程序设计竞赛-女生专场(重现赛)-感谢南京晓庄学院

Union

Problem Description

有三个集合 $S_1$, $S_2$, $S_3$,每个集合都是 {1, 2, ...., $n$} 的子集,现有如下条件。
|$S_1$| + |$S_2$| + |$S_3$| = $k$
|$S_1$| ≥ $a_1$, |$S_2$| ≥ $a_2$, |$S_3$| ≥ $a_3$
|$S_1$ ∪ $S_2$| ≥ $a_4$, |$S_2$ ∪ $S_3$| ≥ $a_5$, |$S_1$ ∪ $S_3$| ≥ $a_6$
|$S_1$ ∪ $S_2$ ∪ $S_3$| ≥ $a_7$
求有多少种集合 ($S_1$, $S_2$, $S_3$) 的有序三元组满足上述要求,请输出答案模 1, 000, 000, 007。

Input

第一行输入两个整数 $n$, $k$。
第二行输入7个整数 $a_1$, $a_2$..., $a_7$。
1 ≤ $n$ ≤ 1, 000, 000
1 ≤ $k$ ≤ 50
0 ≤ $a_i$ ≤ 3

Output

一行一个整数表示答案。

4 4 1 1 1 2 2 2 3
180