import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) inf = 10**18 C = int(input()) N = int(input()) A = list(map(int, input().split())) A.sort(reverse=True) cnt = [] ans = inf def rec(i, val): global ans if i == N: if val == 0: ans = min(ans, sum(cnt)) return x_max = val // A[i] for x in reversed(range(x_max + 1)): cnt.append(x) rec(i + 1, val - A[i] * x) cnt.pop() rec(0, C) if ans >= inf: ans = -1 print(ans)