#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define all(x) (x).begin(), (x).end() #define ll long long #define ld long double #define INF 1000000000000000000 typedef pair pll; typedef pair pint; int main() { cin.tie(0); ios::sync_with_stdio(false); ll K, N; cin >> K >> N; vector x(N); ll MOD = pow(10, 9) + 7; rep(i, N) { cin >> x[i]; } vector dp(K + 5, 0); dp[0] = 1; for (int i = 0; i < K + 5; i++) { for (int j = 0; j < N; j++) { if (i + x[j] < K + 5) { dp[i + x[j]] += dp[i]; dp[i + x[j]] %= MOD; } } } cout << dp[K] << endl; return 0; }