n, m = map(int, input().split())
c = list(map(int, input().split()))
inf = 10 ** 7

dp = [inf for _ in range(n+1)]
dp[0] = 0
for i in range(1, n+1):
    for j in range(m):
        if i - c[j] >= 0:
            dp[i] = min(dp[i], dp[i-c[j]] + 1)

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 inf = 10 ** 7 inf 10 ** 7 10 7 inf for _ in range(n+1) for _ in range(n+1) _ range(n+1) range n+1 n 1 for _ in range(n+1) inf dp = [inf for _ in range(n+1)] dp [inf for _ in range(n+1)] dp[0] = 0 dp[0] dp 0 0 for i in range(1, n+1):
    for j in range(m):
        if i - c[j] >= 0:
            dp[i] = min(dp[i], dp[i-c[j]] + 1) i range(1, n+1) range 1 n+1 n 1 for j in range(m):
        if i - c[j] >= 0:
            dp[i] = min(dp[i], dp[i-c[j]] + 1) j range(m) range m if i - c[j] >= 0:
            dp[i] = min(dp[i], dp[i-c[j]] + 1) i - c[j] >= 0 i - c[j] i c[j] c j 0 dp[i] = min(dp[i], dp[i-c[j]] + 1) dp[i] dp i min(dp[i], dp[i-c[j]] + 1) min dp[i] dp i dp[i-c[j]] + 1 dp[i-c[j]] dp i-c[j] i c[j] c j 1 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 = [inf for _ in range(n+1)] [inf for _ in range(n+1)] dp inf = 10 ** 7 10 ** 7 inf m = map(int, input().split()) map(int, input().split()) m
n, m = map(int, input().split())
c = list(map(int, input().split()))
inf = 10 ** 7

dp = [inf for _ in range(n+1)]
dp[0] = 0
for i in range(1, n+1):
    for j in range(m):
        if i - c[j] >= 0:
            dp[i] = min(dp[i], dp[i-c[j]] + 1)

print(dp[n])
