#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
int k,n,a[200],f[2000005];
int main(){
scanf("%d%d",&k,&n);
//cout<<k<<endl;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
memset(f,0x7f,sizeof(f));
f[0]=0;
for(int i=1;i<=2000000;i++){
//cout<<i<<endl;
for(int j=1;j<=n;j++){
if(i>=a[j]) f[i]=min(f[i],f[i-a[j]]+1);
}
if(f[i]>k){
cout<<i-1;
return 0;
}
}
cout<<500001<<endl;
return 0;
}
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
int k,n,a[200],f[2000005];
int main(){
scanf("%d%d",&k,&n);
//cout<<k<<endl;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
memset(f,0x7f,sizeof(f));
f[0]=0;
for(int i=1;i<=2000000;i++){
//cout<<i<<endl;
for(int j=1;j<=n;j++){
if(i>=a[j]) f[i]=min(f[i],f[i-a[j]]+1);
}
if(f[i]>k){
cout<<i-1;
return 0;
}
}
cout<<500001<<endl;
return 0;
}