#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<queue>
using namespace std;
map<string,int>t,tt;
string st[114514];
int ans=0x7fffffff;
map<string,int>vis;
int main(){
ios::sync_with_stdio(false);
int n,m;
cin>>n;
int nn=n;
while(n--){
string s;
cin>>s;
t[s]=1;
}
n=nn;
cin>>m;
for(int i=1;i<=m;i++){
cin>>st[i];
if(t[st[i]])
tt[st[i]]=1;
}
cout<<tt.size()<<endl;
int l=1,r=1;
if(t[st[1]])
vis[st[1]]=1;
while(r<=m){
while(vis.size()!=tt.size()&&r<=m)
if(t[st[++r]])
vis[st[r]]++;
if(r>m)break;
ans=min(ans,r-l+1);
while(vis.size()==tt.size()){
ans=min(ans,r-l+1);
if(t[st[l]]){
vis[st[l]]--;
if(vis[st[l]]==0)
vis.erase(st[l]);
}
l++;
}
}
cout<<ans;
return 0;
}