#include<bits/stdc++.h>
using namespace std;
int V,n,v[35],flag,ans=20005;
void dfs(int step,int now){
if(now>V||step>n){flag=1;return;}
dfs(step+1,now+v[step]);
if(flag==1){ans=min(ans,V-now);flag=0;}
dfs(step+1,now);
if(flag==1){ans=min(ans,V-now);flag=0;}
}
int main(){
cin>>V>>n;
for(int i=1;i<=n;i++)cin>>v[i];
dfs(1,0);
cout<<ans;
return 0;
}
求助啊!!!!!