import sys def check_range(a,b,x): if a > x or b < x: sys.exit() def check_eq(a,b): if a != b: sys.exit() def cal_realx(data,list,L): realx = list[:] ans = 0 length = len(realx) for i in range(0,length): ans += data[i] * realx[i] if len(list) == len(data): if ans <= L: return realx else: return [] if ans + data[length] <= L: realx.append(1) realx = cal_realx(data,realx,L) elif ans < L: realx.append((L - ans) / data[length]) realx = cal_realx(data,realx,L) else: realx.append(0) realx = cal_realx(data,realx,L) return realx def check_digit(realx,N): if len(realx) == 0: return True for i in range(0,N): if realx[i] != int(realx[i]): return False return True def cal(data,list,L): buf = list[:] ans = cal_realx(data,buf,L) if check_digit(ans,len(data)) == True: return ans elif len(buf) < len(data): buf.append(0) ans1 = cal(data,buf,L) buf.pop() buf.append(1) ans2 = cal(data,buf,L) if ans1.count(1) > ans2.count(1): return ans1 else: return ans2 L = int(input()) check_range(1,10000,L) N = int(input()) check_range(1,10000,N) data = input().split(' ') check_eq(len(data),N) for i in range(0,N): data[i] = int(data[i]) check_range(1,L,N) max = 0 cnt = 0 list = [] print(cal(data,list,L).count(1))