#include <bits/stdc++.h>
#define nx 1009
using namespace std;
int dp[nx][nx];
int V;
int a[nx];
int n;
int main(){
cin>>V>>n;
for(int i = 1;i<=n;++i){
cin>>a[i];
}
fill(dp[0],dp[0]+nx*nx,0);
for(int i = 1;i<=n;++i){
for(int j = 1;j<=V;++j){
if(j>=a[i]){
dp[i][j]=max(dp[i-1][j],dp[i-1][j-a[i]]+a[i]);
}else{
dp[i][j]=dp[i-1][j];
}
}
}
cout<<V-dp[n][V];
return 0;
}