def solve(): C = int(input()) N = int(input()) A = list(map(int, input().split())) inf = float('inf') dp = [inf] * (C + 1) dp[0] = 0 A.sort() for i in range(C): if dp[i] != inf: for j in range(N): iaj = i + A[j] if iaj > C: break dp[iaj] = min(dp[iaj], dp[i] + 1) print(dp[C] if dp[C] != inf else -1) if __name__ == '__main__': solve()