Pagini recente » Cod sursa (job #1382343) | Cod sursa (job #1030780) | Cod sursa (job #2417317) | Cod sursa (job #1049249) | Cod sursa (job #1518898)
#include<cstdio>
#include<cstring>
#define mod 50000007
char v[10000001],v2[21];
bool vec[50000010];
int main ()
{freopen ("abc2.in","r",stdin);
freopen ("abc2.out","w",stdout);
int n,i,k,p,s=0,p4,x;
scanf("%s",&v);
n=strlen(v);
p=0;
while(scanf("%s",&v2)!=EOF)
{x=0;
if(p==0)
k=strlen(v2);
for(i=0;i<k;i++)
x=(x*4+v2[i]-'a'+1)%mod;
vec[x]=1;
}
x=0;
for(i=0;i<k;i++)
x=(x*4+v[i]-'a'+1)%mod;
if(vec[x]==1)
s++;
p4=1;
for(i=1;i<k;i++)
p4*=4;
for(i=k;i<n;i++)
{x=((x-((v[i-k]-'a'+1)*p4)%mod+mod)*4+v[i]-'a'+1)%mod;
if(vec[x]==1)
s++;
}
printf("%d",s);
return 0;
}