#include<iostream>
#include<math.h>
#include<string.h>
using namespace std;
const int N=300;
int v,n,a[N],dp[N][N];
int rec(int i,int j){
if(dp[i][j]!=-1) return dp[i][j];
if(i>n || j<a[i]) return j;
return dp[i][j]=max(rec(i+1,j),rec(i+1,j-a[i]));
}
int main(){
memset(dp,-1,sizeof(dp));
scanf("%d%d",&v,&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
printf("%d",rec(1,v));
return 0;
}