#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <vector>
//谢谢博友程序
using namespace std;
int main()
{
int NUM1;
int NUM2;
scanf("%d %d ",&NUM1,&NUM2);
string str2[NUM2];
vector<string> str1;//sort 和 vector迭代器属于RandomAccessIterators
for(int i=0;i<NUM1;i++)
{
char str[300];
gets(str);
str1.push_back(str);
}
sort(str1.begin(),str1.end());
int jg=0;
for(int i=0;i<NUM2;i++)
{
char str[300];
gets(str);
str2[i]=str;
int t=lower_bound(str1.begin(),str1.end(),str2[i])-str1.begin();
if((t>=0)&&(t<NUM1))
{
if((str1[t].size()>=str2[i].size())&&(str1[t].substr(0,str2[i].size())==str2[i]))
{
jg++;
}
}
}
printf("%d",jg);
return 0;
}
牛会说M句话,答录机记录了N句话,一些句子只记录了前面部分。求有几句话是牛说的。