//简单的01背包,可以参考饮食问题。(几乎一样,汗==)
#include <stdio.h>
int max(int a,int b)
{
if(a>b) return a;
else return b;
}
int main()
{
int ca[31]={0};
int f[31][20001];
int i,r;
int b;
int up;
scanf("%d%d",&up,&b);
for(i=1;i<=b;i++) scanf("%d",&ca[i]);
for(r=0;r<=up;r++)
if(r<ca[1]) f[1][r]=0;
else f[1][r]=ca[1];
for(i=2;i<=b;i++)
for(r=0;r<=up;r++)
{
if(r<ca[i]) f[i][r]=f[i-1][r];
else f[i][r]=max(f[i-1][r],f[i-1][r-ca[i]]+ca[i]);
}
printf("%d",up-f[b][up]);
return 0;
}