#yuki385 m=int(raw_input()) n=int(raw_input()) c=map(int,raw_input().split()) c.sort() dp=[-1 for i in xrange(m+1)] p=[True for i in xrange(m+1)] p[0],p[1]=False,False for i in xrange(2,m+1): if p[i]: j=i*2 while j<=m: if p[j]: p[j]=False j+=i dp[m]=0 for i in range(n): for j in range(m,-1,-1): k=j-c[i] if dp[j]!=-1 and k>=0: dp[k]=max(dp[k],dp[j]+1) res=0 for i in range(m+1): if p[i] and dp[i]>=0: res+=dp[i] res+=m/c[0] print res