# 扑克牌

## 题目描述

组合数学是数学的重要组成部分，是一门研究离散对象的科学，它主要研究满足一定条件的组态（也称组合模型）的存在、计数以及构造等方面的问题。组合数学的主要内容有组合计数、组合设计、组合矩阵、组合优化等。

随着计算机科学的日益发展，组合数学的重要性也日渐凸显，因为计算机科学的核心内容是使用算法处理离散数据。

今天我们来研究组合数学中的一个有趣的问题，也是一个简单的计数问题：

从一副含有 $n$ 张的扑克牌(每张扑克牌都不相同)中，分给 $m$ 个人，第 $i$ 个人得到 $a_i$ 张牌，求一共有几种分法，这个数可能非常大，请输出此数模 $10007$ 后的结果。

## 输入格式

第一行两个整数为 $n,m$。

第二行 $m$ 个整数 $a_i$。

## 输出格式

此数模 $10007$ 后的结果。

## 样例 #1

### 样例输入 #1

```
5 2
3 1
```

### 样例输出 #1

```
20
```

## 样例 #2

### 样例输入 #2

```
20 19
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
```

### 样例输出 #2

```
8707
```

## 提示

对于 $50\%$ 的数据：$a_i=1$。

对于 $100\%$ 的数据：$1 \leq n \leq 10^4$，$1 \leq m \leq 100$，$0 \leq a_i \leq 100$。