#define MAXT 35000
#define MAXN 21
#include<iostream>
using namespace std;
int T,N,dp[MAXT+1],t[MAXN+1],v[MAXN+1];
int main (void)
{
cin>>T>>N;
for (int i=1;i<=N;i++)
cin>>t[i],v[i]=t[i];
for (int j=1;j<=N;j++)
for (int i=T;i>=t[j];i--)
if (dp[i-t[j]]+v[j]>dp[i])
dp[i]=dp[i-t[j]]+v[j];
cout<<dp[T];
return 0;
}