第七个点始终A不了 q*q
#include<bits/stdc++.h>
using namespace std;
map<string,int> word;
long long num[100003];
long long n , m , l , r , sum , len ,maxn = -1 , mini = 2147463646;
string a, s[100003];
int main()
{
scanf("%d" , &n);
for(int i = 1 ; i<= n ; i++ )
{
cin>>a;
word[a] = i;
}
scanf("%d" , &m);
for(int i = 1 ; i <= m ; i++ )cin>>s[i];
l = 1 , r = 1;
while(r <= m)
{
if(word[s[r]] != 0&&num[word[s[r]]] == 0)sum++;
num[word[s[r]]]++;
r++;
}
maxn=sum;
memset(num,0,sizeof(num));
l = 1 , r = 1;
sum=0;
while(r <= m)
{
if(word[s[r]] != 0)
{
if(num[word[s[r]]] == 0)
{
sum++;
}
num[word[s[r]]] ++ ;
}
while( word[s[l]] == 0||(num[word[s[l]]] > 1 &&word[s[l]] != 0))
{
if(l>=r)break;
num[word[s[l]]] --;
l++;
}
len = r-l+1;
if(sum == maxn)mini = min(mini ,len);
r++;
}
if(maxn == 0)mini == 0;
cout<<maxn<<endl<<mini;
return 0;
}