Pagini recente » Cod sursa (job #2700019) | Cod sursa (job #2009471) | Cod sursa (job #1853111) | Cod sursa (job #288693) | Cod sursa (job #1033818)
#include <fstream>
#include <cstdio>
#define LG 800000
using namespace std;
int ind, sol;
char buffer[LG];
long long Q, N;
inline void Citeste(long long &x)
{
while(buffer[ind] < '0' || '9' < buffer[ind])
{
ind++;
if(ind == LG)
{
fread(buffer,1,LG,stdin);
ind=0;
}
}
x = 0LL;
while('0' <= buffer[ind] && buffer[ind] <= '9')
{
x = x * 10LL + buffer[ind] - '0';
ind++;
if(ind == LG)
{
fread(buffer,1,LG,stdin);
ind=0;
}
}
}
int main()
{
int i, lim;
long long x;
freopen("dtcsu.in","r",stdin);
fread(buffer,1,LG,stdin);
for(i = 1; i <= 276997; ++i)
Citeste(x);
Citeste(Q);
lim = (int)Q / 5 + 250000;
while(Q--)
{
Citeste(N);
if(N == 0LL)
continue;
while(N % 2LL == 0LL)
N /= 2LL;
while(N % 3LL == 0LL)
N /= 3LL;
while(N % 5LL == 0LL)
N /= 5LL;
while(N % 7LL == 0LL)
N /= 7LL;
while(N % 11LL == 0LL)
N /= 11LL;
if(N == 1LL)
{
sol++;
if(sol >= lim)
break;
}
}
freopen("dtcsu.out","w",stdout);
printf("%d\n", sol);
return 0;
}