#include <bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "debug2.h"
#else
#define debug(...) 42
#endif
#define int long long
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
template<typename T> bool ckmin(T &a, T b){return (b < a) ? a = b, 1 : 0;}
template<typename T> bool ckmax(T &a, T b){return (b > a) ? a = b, 1 : 0;}
const char el = '\n';
const int N = 1000 + 15;
int dp[N][N][2];
int a[N];
int trace[N];
void solve() {
int T;
cin >> T;
int n;
cin >> n;
for (int i = 1; i <= n; ++i) cin >> a[i];
memset(dp, 0, sizeof(dp));
for (int i = 1; i <= n; ++i)
for (int j = 0; j <= T; ++j) {
dp[i][j][0] = dp[i - 1][j][0];
dp[i][j][1] = dp[i - 1][j][1];
if (j - a[i] >= 0) {
if (ckmax(dp[i][j][0], dp[i - 1][j - a[i]][0] + 1)) {
dp[i][j][1] = dp[i - 1][j - a[i]][1] + a[i];
trace[j] = i;
} else {
if (dp[i][j][0] == dp[i - 1][j - a[i]][0] + 1) {
if (ckmax(dp[i][j][1], dp[i - 1][j - a[i]][1] + a[i])) {
trace[j] = i;
} else {
if (dp[i][j][1] == dp[i - 1][j - a[i]][1] + a[i]) {
if (trace[j - a[i]] > trace[j]) {
trace[j] = i;
}
}
}
}
}
}
}
int ans = dp[n][T][0];
vector<int> used(n + 5, false);
{
for (int i = dp[n][T][1]; i > 0; ) {
used[trace[i]] = true;
i -= a[trace[i]];
}
}
// for (int i = 1; i <= n; ++i) {
// cout << used[i] << ' ';
// }
// cout << el;
int m;
cin >> m;
vector<int> b(m);
for (int i = 0; i < m; ++i)
cin >> b[i];
for (int i = 1; i <= n; ++i)
if (!used[i]) b.push_back(a[i]);
sort(all(b));
for (int i = 0, sum = 0; i < (int) b.size(); ++i)
{
sum += b[i];
if (sum <= T)
{
++ans;
continue;
}
break;
}
cout << ans << '\n';
}
signed main() {
ios::sync_with_stdio(false); cin.tie(nullptr);
int testcase = 1;
// cin >> testcase;
while (testcase--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojaWZkZWYgTE9DQUwKI2luY2x1ZGUgImRlYnVnMi5oIgojZWxzZQojZGVmaW5lIGRlYnVnKC4uLikgNDIKI2VuZGlmCgojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBhbGwoeCkgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIHJhbGwoeCkgKHgpLnJiZWdpbigpLCAoeCkucmVuZCgpCgp0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIGNrbWluKFQgJmEsIFQgYil7cmV0dXJuIChiIDwgYSkgPyBhID0gYiwgMSA6IDA7fQp0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIGNrbWF4KFQgJmEsIFQgYil7cmV0dXJuIChiID4gYSkgPyBhID0gYiwgMSA6IDA7fQoKY29uc3QgY2hhciBlbCA9ICdcbic7CmNvbnN0IGludCBOID0gMTAwMCArIDE1OwoKaW50IGRwW05dW05dWzJdOwppbnQgYVtOXTsKaW50IHRyYWNlW05dOwoKdm9pZCBzb2x2ZSgpIHsKICAgIGludCBUOwogICAgY2luID4+IFQ7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgY2luID4+IGFbaV07CiAgICBtZW1zZXQoZHAsIDAsIHNpemVvZihkcCkpOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8PSBUOyArK2opIHsKICAgICAgICAgICAgZHBbaV1bal1bMF0gPSBkcFtpIC0gMV1bal1bMF07CiAgICAgICAgICAgIGRwW2ldW2pdWzFdID0gZHBbaSAtIDFdW2pdWzFdOwoKICAgICAgICAgICAgaWYgKGogLSBhW2ldID49IDApIHsKICAgICAgICAgICAgICAgIGlmIChja21heChkcFtpXVtqXVswXSwgZHBbaSAtIDFdW2ogLSBhW2ldXVswXSArIDEpKSB7CiAgICAgICAgICAgICAgICAgICAgZHBbaV1bal1bMV0gPSBkcFtpIC0gMV1baiAtIGFbaV1dWzFdICsgYVtpXTsKICAgICAgICAgICAgICAgICAgICB0cmFjZVtqXSA9IGk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmIChkcFtpXVtqXVswXSA9PSBkcFtpIC0gMV1baiAtIGFbaV1dWzBdICsgMSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2ttYXgoZHBbaV1bal1bMV0sIGRwW2kgLSAxXVtqIC0gYVtpXV1bMV0gKyBhW2ldKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2Vbal0gPSBpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRwW2ldW2pdWzFdID09IGRwW2kgLSAxXVtqIC0gYVtpXV1bMV0gKyBhW2ldKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRyYWNlW2ogLSBhW2ldXSA+IHRyYWNlW2pdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNlW2pdID0gaTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAKICAgIGludCBhbnMgPSBkcFtuXVtUXVswXTsKICAgIHZlY3RvcjxpbnQ+IHVzZWQobiArIDUsIGZhbHNlKTsKICAgIHsKICAgICAgICBmb3IgKGludCBpID0gZHBbbl1bVF1bMV07IGkgPiAwOyApIHsKICAgICAgICAgICAgdXNlZFt0cmFjZVtpXV0gPSB0cnVlOwogICAgICAgICAgICBpIC09IGFbdHJhY2VbaV1dOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgIC8vICAgICBjb3V0IDw8IHVzZWRbaV0gPDwgJyAnOwogICAgLy8gfQogICAgLy8gY291dCA8PCBlbDsKCiAgICBpbnQgbTsKICAgIGNpbiA+PiBtOwogICAgdmVjdG9yPGludD4gYihtKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgKytpKQogICAgICAgIGNpbiA+PiBiW2ldOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKQogICAgICAgIGlmICghdXNlZFtpXSkgYi5wdXNoX2JhY2soYVtpXSk7CiAgICBzb3J0KGFsbChiKSk7CiAgICBmb3IgKGludCBpID0gMCwgc3VtID0gMDsgaSA8IChpbnQpIGIuc2l6ZSgpOyArK2kpCiAgICB7CiAgICAgICAgc3VtICs9IGJbaV07CiAgICAgICAgaWYgKHN1bSA8PSBUKQogICAgICAgIHsKICAgICAgICAgICAgKythbnM7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBicmVhazsKICAgIH0KICAgIGNvdXQgPDwgYW5zIDw8ICdcbic7Cn0KCnNpZ25lZCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKG51bGxwdHIpOwoKICAgIGludCB0ZXN0Y2FzZSA9IDE7Ci8vICAgIGNpbiA+PiB0ZXN0Y2FzZTsKICAgIHdoaWxlICh0ZXN0Y2FzZS0tKSB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQoKICAgIAo=