#include<bits/stdc++.h>
#define int long long
using namespace std;
int ans;
void dfs(vector<int>& cakes,vector<int>& mouths,int cake_idx,int mouth_idx,int idx){
if(cake_idx == cakes.size() || mouth_idx == mouths.size()){
ans = max(ans,idx);
return;
}
if(cakes[cake_idx] >= mouths[mouth_idx]){
dfs(cakes,mouths,cake_idx + 1,mouth_idx + 1,idx + 1);
return;
}
dfs(cakes,mouths,cake_idx + 1,mouth_idx,idx);
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,m;
std::cin >> n;
std::vector<int>cakes(n + 2);
for(int i = 1;i <= n;i ++)
std::cin >> cakes[i];
std::cin >> m;
std::vector<int>mouths(m + 2);
for(int i = 1;i <= m;i ++)
std::cin >> mouths[i];
std::sort(cakes.begin(),cakes.end());
std::sort(mouths.begin(),mouths.end());
dfs(cakes,mouths,1,1,1);
std::cout << ans << std::endl;
return 0;
}