编程题
### 问题描述
卓儿是一位著名的数学家,下周她将代表她的学校参加数学奥林匹克竞赛。有许多学校参与,每个学校都有许多学生。无论如何,只有一些学生和一些学校能够参加奥林匹克竞赛。问题是,有多少种学生组合可以参加奥林匹克竞赛?
更具体地说:有 $N$ 所学校,其中恰好有 $A$ 所学校会参加。此外,每所学校有 $B$ 名学生,其中恰好有 $D$ 名学生会参加奥林匹克竞赛。
### 输入格式
第一行包含一个整数 $T$,表示询问的次数。
接下来 $T$ 行,每行包含四个整数 $N$,$A$,$B$,$D$。
### 输出格式
输出 $T$ 行,每行一个整数,表示可以参加奥林匹克竞赛的学生组合数,需要对 $10^9+7$ 取模。所有学生和学校都是可区分的,但它们的顺序不重要。
### 样例输入
```
3
2 2 2 1
2 1 2 1
4 3 3 2
```
### 样例输出
```
4
4
108
```
### 评测数据规模
$1 \leq T \leq 1000$,$1 \leq A \leq N \leq 10^6$,$1 \leq D \leq B \leq 10^6$。