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