#include<bits/stdc++.h>
#define N 22
#define inf 0x3f3f3f3f
using namespace std;
int res=-inf;
int m,n;
int arr[N];
void dfs(int x,int sum){//位置,此时卡路里
if(x>n)return ;//到最后一桶返回
if(sum>res&&sum<m)//比此时的最大值大且小于40更新res
res=sum;
dfs(x+1,sum);//不吃
dfs(x+1,sum+arr[x+1]);//吃
}
int main()
{
cin>>m>>n;
for(int i=1;i<=n;i++)
cin>>arr[i];
dfs(0,0);//从0开始,因为第一个可吃可不吃
cout<<res<<endl;
}