INF = 1 << 62 T = int(input()) N = int(input()) tasks = [] for i in range(N): tasks.append(int(input())) dp = [(INF, 0)] * (1 << N) dp[0] = (1, 0) for b in range(1 << N): cnt, w = dp[b] for i, t in enumerate(tasks): if b & (1 << i): continue nb = b | (1 << i) if w+t <= T: dp[nb] = min(dp[nb], (cnt, w+t)) else: dp[nb] = min(dp[nb], (cnt+1, t)) full = (1 << N) - 1 ans = dp[full][0] print(ans)