#define _CRT_SECURE_NO_WARNINGS #include "bits/stdc++.h" using namespace std; #define rep(i, n) for(int i=0; i<(n); ++i) #define FOR(i, m, n) for(int i=(m); i<(n); ++i) const long long mod = (int)1e9 + 7; int main() { long long k, n; scanf("%d %d", &k, &n); long long x[100003]; rep(i, n)scanf("%d", &x[i]); long long dp[100003] = {}; rep(i, n) { if (x[i] > k)break; dp[x[i]] = 1; } FOR(i, 1, k) { if (dp[i] == 0)continue; rep(j, n) { if (i + x[j] > k)break; dp[i + x[j]] = (dp[i + x[j]] + dp[i]) % mod; } } printf("%lld", dp[k]); }