C = int(input()) N = int(input()) A = list(map(int,input().split())) A.sort(reverse = True) sum0 = 0 D = [0] * N INF = 100010 ans = INF def f(x): global sum0,ans if sum0 == C: ans = min(ans,sum(D)) if x == N: return for i in reversed(range((C-sum0)//A[x] + 1)): sum0 += A[x] * i D[x] = i f(x+1) D[x] = 0 sum0 -= A[x] * i f(0) if ans == INF: print(-1) else: print(ans)