| Codeforces Round 1125 (Div. 3) |
|---|
| Закончено |
Недавно K1o0n импульсивной покупкой взял $$$n$$$ упаковок чая и теперь думает, когда же успеет перепробовать все купажи. В чае он привередлив, поэтому каждой упаковке сразу выставил насыщенность — целое число $$$a_i$$$.
Упаковки стоят на полке в порядке покупки, и разбирать их K1o0n ленится: заваривая, он ссыпает в чайник подряд первые $$$j$$$ упаковок, а потом добавляет ещё одну ложку из упаковки с номером $$$i$$$. Получившийся купаж обозначим $$$(i, j)$$$, а его насыщенностью назовём произведение насыщенностей всего, что в него попало:
$$$$$$F(i, j) = a_i \cdot \prod_{k=1}^{j} a_k = a_i \cdot \left(a_1 \cdot a_2 \cdot \ldots \cdot a_j\right)$$$$$$
Готовый чайник K1o0n разливает по одинаковым чашкам: на $$$d$$$ чашек он разольёт его тогда и только тогда, когда $$$d$$$ — натуральный делитель числа $$$F(i, j)$$$, и каждой чашке достанется поровну. Купаж он называет капризным, если число подходящих $$$d$$$ нечётно.
Посчитайте, сколько капризных купажей может заварить K1o0n, то есть сколько пар $$$(i, j)$$$ с $$$1 \le i \le n$$$ и $$$1 \le j \le n$$$ дают нечётное количество натуральных делителей числа $$$F(i, j)$$$.
Первая строка содержит целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.
Первая строка каждого набора содержит целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество упаковок чая.
Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^6$$$) — насыщенность чаёв.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора данных выведите одно целое число — количество капризных купажей.
Обратите внимание, что ответ может не поместиться в 32-битный тип данных. Используйте 64-битный тип (long long в C++, long в Java).
442 3 6 44974153 980051 988027 1812 3 5 45 1 7 63 2113
44111
| Название |
|---|


