#include #include #include #include #include #include #include #include using namespace std; #define REP(i,a,b) for(i=a;i> nw; for(i=0;i> w[i]; cin >> nb; for(i=0;i> b[i]; /* 入力終了! */ sort(w,w+nw); sort(b,b+nb); int cnt = 1; int ans = 0; int now_width = w[nw-1]; int w_cnt = nw-2 ,b_cnt = nb-1; char go = 1; while(go) { for(;;b_cnt--) { if(b_cnt < 0) { go = 0; break; } if(now_width > b[ b_cnt ]) { now_width = b[ b_cnt ]; break; } } if(go == 0) break; cnt++; b_cnt--; for(;;w_cnt--) { if(w_cnt < 0) { go = 0; break; } if( now_width > w[ w_cnt ] ) { now_width = w[ w_cnt ]; break; } } if(go == 0) break; cnt++; w_cnt--; } ans = cnt; go = 1; now_width = b[nb-1]; cnt = 1; w_cnt = nw-1 ,b_cnt = nb-2; while(1) { for(;;w_cnt--) { if(w_cnt < 0) { go = 0; break; } if( now_width > w[ w_cnt ] ) { now_width = w[ w_cnt ]; break; } } if(go == 0) break; cnt++; w_cnt--; for(;;b_cnt--) { if(b_cnt < 0) { go = 0; break; } if(now_width > b[ b_cnt ]) { now_width = b[ b_cnt ]; break; } } if(go == 0) break; cnt++; b_cnt--; } if(ans < cnt) ans = cnt; cout << ans << endl; return 0; }