Pagini recente » Cod sursa (job #1854336) | Cod sursa (job #498434) | Cod sursa (job #1737287) | Cod sursa (job #1541519) | Cod sursa (job #1040139)
#include <fstream>
#include <string.h>
#include <cstdio>
#include <bitset>
#define mod 399983
#define mod2 399989
#define ll long long
#define buffer_size (1<<16)
#define MAX 1LL*1000000000000000000
using namespace std;
FILE *fin = fopen("dtcsu.in","r");
ofstream fout("dtcsu.out");
char buffer[buffer_size+10];
bitset <mod2> s,s2;
int d[5] = {2,3,5,7,11},nr;
unsigned long long x;
int n,i=0,k;
unsigned long long sol[300000],t;
long long get_int ()
{
ll x=0;
do
{
x= x*10 + (buffer[i]-'0');
++i;
if (i==buffer_size)
{
fread (buffer,1,buffer_size,fin);
i=0;
}
}while (buffer[i] != '\n');
++i;
if (i==buffer_size)
{
fread (buffer,1,buffer_size,fin);
i=0;
}
return x;
}
int main()
{
fread (buffer,1,buffer_size,fin);
for (k=1; k<=276997; ++k)
{
x = get_int ();
s[x%mod] = 1;
s2[x%mod] = 1;
}
n = get_int();
for (int k=1; k<=n; ++k)
{
x = get_int();
if (s[x%mod] == 0 || s2[x%mod2]==0) continue;
for (int i=0; i<5; ++i)
{
while (x%d[i]==0) x/=d[i];
}
if (x==1) ++nr;
}
fout<<nr;
}