#include <iostream>
#include <string>
#include <unordered_set>
#include <fstream>
using namespace std;
ifstream fin ("dtcsu.in");
ofstream fout ("dtcsu.out");
const int MAX = 276997;
int q;
string s;
unordered_set <long long> uset;
long long n;
int cnt;
long long getNum(string s){
long long ans = 0;
for (int i=0;i<s.size();++i)
ans = ans * 10 + s[i] - '0';
return ans;
}
void input(){
for (int i=1;i<=MAX;++i){
fin >> s;
long long num = getNum(s);
uset.insert(num);
}
}
void solve(){
fin >> q;
for (int i=1;i<=q;++i){
fin >> n;
if (uset.find(n) != uset.end())
cnt++;
}
}
void output(){
fout << cnt;
}
int main()
{
input();
solve();
output();
return 0;
}