#include <iostream>
#include <cstdio>
#include <map>
#include <string>
#include <cmath>
#include <iomanip>
using namespace std;
//英语 看博友分析 抄博友程序
string fun(string s)
{
string t="";
for(int i=0;i<s.size();i++)
{
if(s[i]>='A' && s[i]<='Z')
{
char c=s[i]-'A'+'a';
t=t+c;
}else if(s[i]>='a' && s[i]<='z')
{
t=t+s[i];
}else if(s[i]>='0' && s[i]<='9')
{
t=t+s[i];
}
}
return t;
}
map<string,int> mp;
map<string,int> hs;
int main()
{
string s;
while(1)
{
cin>>s;
if(s=="----------")
{
break;
}
if(fun(s)!="")
{
mp[fun(s)]++;//
}
}
while(1)
{
hs.clear();
cin>>s;
if(s=="----------")
{
break;
}
if(fun(s)!="")
{
hs[fun(s)]++;
}
while(1)
{
cin>>s;
if(s=="----------")
{
double jg=0;
for(map<string,int> :: iterator it=mp.begin();it!=mp.end();it++)
{
jg=jg+sqrt((double)hs[it->first]*(double)it->second);
}
cout<<fixed<<setprecision(2)<<jg<<endl;
break;
}
if(fun(s)!="")
{
hs[fun(s)]++;
}
}
}
return 0;
}