#include
#include
/* 算算Cyin最多能花多少钱? */
int main()
{
/* 递推法求解 */
int S,n,p[2048],num[2048];
int i,j,tmp,go;
scanf("%d %d",&S,&n);
for(i=0;iscanf("%d",&p[i]);
}
/* 初始化 */
for(i=0;inum[i]=0;
}
for(i=0;inum[p[i]]=1;
}
/* 递推 */
go=1;
while(go==1){
go=0;
for(i=0;itmp=p[i];
for(j=1;jif(num[j]==1&&j+tmp<=S&&num[j+tmp]==0){
num[j+tmp]=1;
go=1;
}
}
}
}
/* 找出最大值 */
for(i=S;i>0;i--){
if(num[i]==1){
break;
}
}
printf("%d\n",i);
/*system("pause");*/
return 0;
}