#include <bits/stdc++.h>
using namespace std;
string a[1010], __a[1010], b[100010];
map<string, int> bkt;
int __n, n = 0, m;
bool check()
{
for (int i = 1; i <= n; i++)
{
if (bkt[a[i]] == 0)
{
return false;
}
}
return true;
}
void checkai()
{
for (int i = 1; i <= __n; i++)
{
bool flag = false;
for (int j = 1; j <= m; j++)
{
if (__a[i] == b[j])
{
flag = true;
break;
}
}
if (flag == true)
{
n++;
a[n] = __a[i];
}
}
}
int main()
{
scanf("%d", &__n);
for (int i = 1; i <= __n; i++)
{
cin >> __a[i];
}
scanf("%d", &m);
for (int i = 1; i <= m; i++)
{
cin >> b[i];
}
checkai();
int j = 0, ans = 1e9;
for (int i = 1; i <= m; i++)
{
bkt[b[i]]++;
if (check())
{
ans = min(ans, i);
j = i;
break;
}
}
for (int i = 2; i <= n; i++)
{
bkt[b[i - 1]]--;
if (bkt[b[i - 1]] == 0)
{
while (j + 1 <= m && b[j] != b[i - 1])
{
bkt[b[j]]++;
j++;
}
bkt[b[j]]++;
}
ans = min(ans, j - i + 1);
}
printf("%d\n%d", n, ans);
return 0;
}
rt