Pagini recente » Cod sursa (job #2051317) | Cod sursa (job #1192805) | Cod sursa (job #1002295) | Cod sursa (job #1379196) | Cod sursa (job #1032370)
#include <fstream>
#include <algorithm>
#include <unordered_set>
using namespace std;
ifstream fin("dtcsu.in");
ofstream fout("dtcsu.out");
char parse[1 << 18], *now;
inline void verify()
{
if (*now == 0)
{
fin.get(parse, 1 << 18, '\0');
now = parse;
}
}
long long get()
{
while (!(*now >= '0' && *now <= '9'))
{
++now;
verify();
}
long long num = 0;
while (*now >= '0' && *now <= '9')
{
num = num * 10 + (*now - '0');
++now;
verify();
}
return num;
}
unordered_set<long long> S;
int Q, result;
int main()
{
now = parse;
verify();
long long num;
for (int i = 1; i <= 276997; ++i)
num = get();
Q = get();
for (int i = 1; i <= Q; ++i)
{
num = get();
while (num % 2 == 0) num /= 2;
while (num % 3 == 0) num /= 3;
while (num % 5 == 0) num /= 5;
while (num % 7 == 0) num /= 7;
while (num % 11 == 0) num /= 11;
if (num == 1) ++result;
}
fout << result << '\n';
fin.close();
fout.close();
}