K=int(input()) N=int(input()) X=list(map(int,input().split())) mod=10**9+7 #X.sort() DP=[0]*(K+1) DP[0]=1 for i in range(K): if DP[i]==0: continue for j in range(N): if X[j]+i<=K: DP[X[j]+i]=(DP[i]+DP[X[j]+i])%mod else: break print(DP[-1])