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)