C=int(raw_input()) N=int(raw_input()) A=map(int,raw_input().split()) A.sort() A.reverse() dp=[10000000 for i in range(C+1)] dp[0]=0 for a in A: for j in range(a,C+1): if dp[j-a]>=0: dp[j]=min(dp[j],dp[j-a]+1) if dp[C]==10000000: print -1 else: print dp[C]