#include <bits/stdc++.h>
#define maxn 100005
using namespace std;
int v, n, b[maxn], max1 = 100000, a[maxn];
void dfs(int sum, int i)
{
if (sum > v)
{
return;
}
if (sum + a[i] > v)
{
max1 = min(v - sum, max1);
return;
}
for (int j = i; j <= n; j++)
{
if (b[j] != 1)
{
b[j] = 1;
dfs(sum + a[j], j);
b[j] = 0;
}
}
}
int main()
{
cin >> v >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
dfs(0, 1);
cout << max1;
return 0;
}