C = int(input()) N = int(input()) a = list(map(int, input().split())) INF = float('inf') a.sort(reverse=True) # 大きい順にソート dp = [INF] * (C + 1) dp[0] = 0 for num in a: for j in range(num, C + 1): if dp[j - num] + 1 < dp[j]: dp[j] = dp[j - num] + 1 print(dp[C] if dp[C] != INF else -1)