sucet, n = [int(_) for _ in input().split()]
mlieko = [int(input()) for _ in range(n)]
vysl = sum(mlieko)
for i in range(2**n): #2^n moznosti
#binarny zapis cisla i predstavuje jednu moznost (1=zober danu flasu)
objem = 0
x, ind = i, 0 # x=i; ind = 0
while x > 0:
if x % 2 == 1:
objem += mlieko[ind] #zober flasu na indexe IND
x //= 2 #posun bitovo doprava
ind += 1 #zvys index
if objem >= sucet: #ak je aspon tolko, ako hladany sucet
vysl = min(objem, vysl) #hladame najmennsie mozne mozne riesenie
print(vysl)
c3VjZXQsIG4gPSBbaW50KF8pIGZvciBfIGluIGlucHV0KCkuc3BsaXQoKV0KbWxpZWtvID0gW2ludChpbnB1dCgpKSBmb3IgXyBpbiByYW5nZShuKV0KCnZ5c2wgPSBzdW0obWxpZWtvKQpmb3IgaSBpbiByYW5nZSgyKipuKTogIzJebiBtb3pub3N0aQoJI2JpbmFybnkgemFwaXMgY2lzbGEgaSBwcmVkc3RhdnVqZSBqZWRudSBtb3pub3N0ICgxPXpvYmVyIGRhbnUgZmxhc3UpCglvYmplbSA9IDAKCXgsIGluZCA9IGksIDAgIyB4PWk7IGluZCA9IDAKCXdoaWxlIHggPiAwOgoJCWlmIHggJSAyID09IDE6CgkJCW9iamVtICs9IG1saWVrb1tpbmRdICN6b2JlciBmbGFzdSBuYSBpbmRleGUgSU5ECgkJeCAvLz0gMiAjcG9zdW4gYml0b3ZvIGRvcHJhdmEgCgkJaW5kICs9IDEgI3p2eXMgaW5kZXgKCWlmIG9iamVtID49IHN1Y2V0OiAjYWsgamUgYXNwb24gdG9sa28sIGFrbyBobGFkYW55IHN1Y2V0CgkJdnlzbCA9IG1pbihvYmplbSwgdnlzbCkgI2hsYWRhbWUgbmFqbWVubnNpZSBtb3puZSBtb3puZSByaWVzZW5pZQpwcmludCh2eXNsKQoJCQoJ