#include using namespace std; long long n, m, t, f[10005][105], ans = 1; int main() { cin >> n >> m; for (int i = 0; i <= n; i++) { f[i][0] = 1; } for (int i = 1; i <= min(n, m); i++) { f[i][i] = 1; } for (int i = 1; i <= 10000; i++) { for (int j = 0; j <= 100; j++) { f[i][j] = (f[i - 1][j - 1] + f[i - 1][j]) % 10007; } } for (int i = 1; i <= m; i++) { cin >> t; ans *= f[n][t]; ans %= 10007; n -= t; } cout << ans << endl; return 0; }