#include #include using namespace std; int main(){ int Nw; cin >> Nw; vector W(Nw); for (int i = 0; i < Nw; i++){ cin >> W[i]; } int Nb; cin >> Nb; vector B(Nb); for (int i = 0; i < Nb; i++){ cin >> B[i]; } vector Wcnt(21, 0); for (int i = 0; i < Nw; i++){ Wcnt[W[i]]++; } vector Bcnt(21, 0); for (int i = 0; i < Nb; i++){ Bcnt[B[i]]++; } vector dpW(21, 0); vector dpB(21, 0); for (int i = 1; i <= 20; i++){ dpW[i] = dpW[i - 1]; dpB[i] = dpB[i - 1]; if (Wcnt[i] > 0){ dpW[i] = max(dpW[i], dpB[i - 1] + 1); } if (Bcnt[i] > 0){ dpB[i] = max(dpB[i], dpW[i - 1] + 1); } } cout << max(dpW[20], dpB[20]) << endl; }