Pagini recente » Cod sursa (job #1076616) | Cod sursa (job #2989350) | Cod sursa (job #347913) | Cod sursa (job #2554429) | Cod sursa (job #1389427)
#include <iostream>
#include <cstdio>
#include <bitset>
using namespace std;
#define cntRead 276997
#define mod 4000000
long n,i,cnt;
long long x;
bitset<mod+11> B;
long h1(long long x){
x=(x*(x^(x-1))*32947);
if(x<0) x=-x;
return x%mod;
}
long h2(long long x){
x=(x*(x&(x+1)+13)*333447);
if(x<0) x=-x;
return x%mod;
}
long h3(long long x){
x=(((x*17)+32)^(x/34));
if(x<0) x=-x;
return x%mod;
}
int main()
{
freopen("dtcsu.in","r",stdin);
freopen("dtcsu.out","w",stdout);
for(i=1;i<=cntRead;i++){
scanf("%lld",&x);
B[h1(x)]=1;B[h2(x)]=1;B[h3(x)]=1;
}
scanf("%ld",&n);
for(i=1;i<=n;i++){
scanf("%lld",&x);
if(B[h1(x)]==1 && B[h2(x)]==1 && B[h3(x)]==1) cnt++;
}
printf("%ld",cnt);
return 0;
}