#include using namespace std; int first_smaller(const vector& arr, int x) { int l = 0, r = arr.size() - 1; int ans = -1; while (l <= r) { int mid = (l + r) / 2; if (arr[mid] < x) { ans = arr[mid]; r = mid - 1; } else { l = mid + 1; } } return ans; } int main() { int nw, nb; cin >> nw; vector w(nw); for (int i = 0; i < nw; i++) cin >> w[i]; cin >> nb; vector b(nb); for (int i = 0; i < nb; i++) cin >> b[i]; sort(w.begin(), w.end(), greater()); sort(b.begin(), b.end(), greater()); int curr; bool fromW; if (w[0] > b[0]) { curr = w[0]; fromW = true; } else { curr = b[0]; fromW = false; } int count = 1; while (true) { int next; if (fromW) { next = first_smaller(b, curr); if (next == -1) break; } else { next = first_smaller(w, curr); if (next == -1) break; } curr = next; fromW = !fromW; count++; } cout << count << endl; return 0; }