C = int(raw_input()) N = int(raw_input()) a = sorted(list(set(map(int,raw_input().split(" "))))) M = len(a) UB = 10**5+1 dp = [UB for i in range(C+1)] dp[0] = 0 for i in range(1,C+1): for j in range(M): if a[j] > i: break if dp[i-a[j]] + 1 < dp[i]: dp[i] = dp[i-a[j]] + 1 print -1 if dp[C] == UB else dp[C]