编程题
错位的小球
### 题目描述
有 $n$ 个不同的小球对应顺序放在 $n$ 个不同的箱子里,现要求重新排列,使得每个小球都不放原来的位置上,求有多少种排列方式?
### 输入描述
第 $1$ 行为一个整数 $T$,表示测试数据数量。
接下来的 $T$ 行每行包含一个正整数 $N$,表示小球和箱子的个数。
$1 \leq T \leq 10^5$,$1\leq N \leq 3\times 10^3$。
### 输出描述
输出共 $T$ 行,每行包含一个整数,表示答案。
由于这个结果可能过大,你只需要输出总数模上 $10^9+7$ 的结果。
### 输入输出样例
#### 示例 1
>输入
```txt
5
1
2
3
4
5
```
>输出
```txt
0
1
2
9
44
```