#include #include #include using namespace std; int main(){ int n;cin>>n; vector A(n); for(int i = 0; n > i; i++){ cin>>A[i]; } sort(A.begin(),A.end()); int m;cin>>m; vector B(m); for(int i = 0; m > i; i++){ cin>>B[i]; } sort(B.begin(),B.end()); //A→B int nw = A[0]; int y = 1; while(true){ int a = *upper_bound(B.begin(),B.end(),nw); if(a <= B[B.size()-1] && a > nw)y++,nw=a; else break; a = *upper_bound(A.begin(),A.end(),nw); if(a <= A[A.size()-1] && a > nw)y++,nw=a; else break; } nw = B[0]; int z = 1; while(true){ int a = *upper_bound(A.begin(),A.end(),nw); if(a <= A[A.size()-1] && a > nw) z++,nw=a; else break; a = *upper_bound(B.begin(),B.end(),nw); if(a <= B[B.size()-1] && a > nw)z++,nw=a; else break; } cout << max(y,z) << endl; }