n, m = map(int, input().split())
c = list(map(int, input().split()))
dp = [float("inf")]*(n+1)
dp[0] = 0
for i in range(m):
    for j in range(c[i], n+1):
        dp[j] = dp[j - c[i]]+1 if dp[j - c[i]] < dp[j] else dp[j]
print(dp[n]) n, m = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m c = list(map(int, input().split())) c list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split dp = [float("inf")]*(n+1) dp [float("inf")]*(n+1) [float("inf")] float("inf") float "inf" n+1 n 1 dp[0] = 0 dp[0] dp 0 0 for i in range(m):
    for j in range(c[i], n+1):
        dp[j] = dp[j - c[i]]+1 if dp[j - c[i]] < dp[j] else dp[j] i range(m) range m for j in range(c[i], n+1):
        dp[j] = dp[j - c[i]]+1 if dp[j - c[i]] < dp[j] else dp[j] j range(c[i], n+1) range c[i] c i n+1 n 1 dp[j] = dp[j - c[i]]+1 if dp[j - c[i]] < dp[j] else dp[j] dp[j] dp j dp[j - c[i]]+1 if dp[j - c[i]] < dp[j] else dp[j] dp[j - c[i]] < dp[j] dp[j - c[i]] dp j - c[i] j c[i] c i dp[j] dp j dp[j - c[i]]+1 dp[j - c[i]] dp j - c[i] j c[i] c i 1 dp[j] dp j print(dp[n]) print dp[n] dp n n, m = map(int, input().split()) map(int, input().split()) n c = list(map(int, input().split())) list(map(int, input().split())) c dp = [float("inf")]*(n+1) [float("inf")]*(n+1) dp m = map(int, input().split()) map(int, input().split()) m
n, m = map(int, input().split())
c = list(map(int, input().split()))
dp = [float("inf")]*(n+1)
dp[0] = 0
for i in range(m):
    for j in range(c[i], n+1):
        dp[j] = dp[j - c[i]]+1 if dp[j - c[i]] < dp[j] else dp[j]
print(dp[n])