#include <bits/stdc++.h> using namespace std; int main() { int V, n; cin >> V; cin >> n; vector<int> w(n); for (int i = 0; i < n; ++i) cin >> w[i]; // dp[s]:是否能恰好装到体积 s vector<char> dp(V + 1, 0); dp[0] = 1; for (int x : w) { if (x > V) continue; // 太大直接忽略 for (int s = V; s >= x; --s) // 0/1 背包倒序 if (dp[s - x]) dp[s] = 1; } int best = 0; for (int s = V; s >= 0; --s) if (dp[s]) { best = s; break; } cout << (V - best) << '\n'; // 最小剩余空间 return 0; }