#include using namespace std; #define rep(i,n) for(int i = 0; i < (n);i++) #define sz(x) int(x.size()) typedef long long ll; typedef pair P; int run(vector &a, vector &b) { int prev = 10000; bool ok = true; int i = 0, j = 0; int p = 0; int res = 0; while (ok) { if (p & 1) { for (int k = j; k < sz(b); k++) { if (b[k] < prev) { res++; prev = b[k]; j = k; break; } if (k == sz(b) - 1) ok = false; } } else { for (int k = i; k < sz(a); k++) { if (a[k] < prev) { res++; prev = a[k]; i = k; break; } if (k == sz(a) - 1) ok = false; } } p++; } return res; } int main(){ int n; cin >> n; vector w(n); rep(i,n) cin >> w[i]; int m; cin >> m; vector b(m); rep(i,m) cin >> b[i]; sort(w.begin(), w.end(), greater()); sort(b.begin(), b.end(), greater()); int res1 = run(w,b); int res2 = run(b,w); cout << max(res1,res2) << endl; return 0; }