def dfs(C,S,idx): if idx == N: if C == 0: return S else: return None ret = None for i in range(C/a[idx],-1,-1): ret = dfs(C-a[idx]*i,S+i,idx+1) if ret is not None: break return ret C = int(raw_input()) N = int(raw_input()) a = map(int,raw_input().split(" ")) a.sort(reverse = True) ans = dfs(C,0,0) if ans is None: print -1 else: print ans