L = int(input()) N = int(input()) W = list(map(int, input().split())) V = [1] * N dp = [] for i in range(N+1): l = [] for i in range(L): l.append(0) dp.append(l) for i in range(N): for j in range(L): if j - W[i] < 0: dp[i+1][j] = max(dp[i][j], dp[i+1][j-1]) else: dp[i+1][j] = max(dp[i][j], dp[i][j-W[i]]+V[i], dp[i+1][j-1]) print(dp[N][L-1])