#include <iostream>
#include <cstring>
using namespace std;
int M, N, p;
int memo[5000];
int solve()
{
cin >> M >> N;
int i, j, jmax = 0;
memset(memo, 0, sizeof(memo));
memo[0] = 1;
for(i = 0; i < N; i++) {
cin >> p;
for(j=M; j>=p; j--){
if(memo[j-p]) {
memo[j]=1;
if(j>jmax)
jmax = j;
}
}
}
return jmax;
}
int main(){
std::cout<<solve();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IE0sIE4sIHA7CmludCBtZW1vWzUwMDBdOwoKCmludCBzb2x2ZSgpCnsKCiAgICBjaW4gPj4gTSA+PiBOOwogICAgaW50IGksIGosIGptYXggPSAwOwoKICAgIG1lbXNldChtZW1vLCAwLCBzaXplb2YobWVtbykpOwogICAgbWVtb1swXSA9IDE7CiAgICBmb3IoaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICBjaW4gPj4gcDsKICAgICAgICBmb3Ioaj1NOyBqPj1wOyBqLS0pewogICAgICAgIAlpZihtZW1vW2otcF0pIHsKICAgICAgICAJICAgbWVtb1tqXT0xOwogICAgICAgIAkgICBpZihqPmptYXgpCiAgICAgICAgCSAgICAgam1heCA9IGo7CiAgICAgICAgCX0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gam1heDsKfQoKaW50IG1haW4oKXsKICAgIHN0ZDo6Y291dDw8c29sdmUoKTsKICAgIHJldHVybiAwOwp9Cgo=