#include #include #include void solve() { std::vector> xss(2); for (auto& xs : xss) { int n; std::cin >> n; xs.resize(n); for (auto& x : xs) std::cin >> x; std::sort(xs.begin(), xs.end()); } int ans = 0; for (int q = 0; q < 2; ++q) { int base = 100, cnt = 0; for (int i = 0;; ++i) { auto& xs = xss[i % 2]; auto it = std::lower_bound(xs.begin(), xs.end(), base); if (it == xs.begin()) break; base = *(--it); ++cnt; } ans = std::max(ans, cnt); std::swap(xss[0], xss[1]); } std::cout << ans << std::endl; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }