#include <bits/stdc++.h>
using namespace std;
const int maxn = 1005;
int val[maxn], arr[maxn];
void solve() {
int m, n;
cin >> m;
for (int i = 1; i <= m; i++) cin >> arr[i];
cin >> n;
for (int i = 1; i <= n; i++) cin >> val[i];
sort(arr + 1, arr + 1 + m, greater<int>());
sort(val + 1, val + 1 + n);
int ans = 0, T = 7;
mt19937 rng((unsigned long long)new char);
while (T--) {
int cnt = 0;
for (int i = 1; i <= m; i++) {
int t = arr[i];
for (int j = 1; j <= n; j++)
if (val[j] > 0 && t >= val[j])
t += (val[j] *= -1), cnt++;
}
ans = max(ans, cnt);
for (int i = 1; i <= n; i++)
if (val[i] < 0) val[i] = -val[i];
shuffle(arr + 1, arr + 1 + m, rng);
if (ans == n) break;
shuffle(val + 1, val + 1 + ans + 1, rng);
}
cout << ans << '\n';
}
signed main() {
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
solve();
return 0;
}
https://www.luogu.com.cn/record/52300696