Олимпиадный тренинг

Задача . D. Считалочка


Дан массив целых чисел \(a_1, a_2, \ldots, a_n\).

Пару целых чисел \((i, j)\), таких что \(1 \le i < j \le n\), назовём хорошей, если не существует числа \(k\) (\(1 \le k \le n\)), такого что одновременно \(a_i\) делится на \(a_k\) и \(a_j\) делится на \(a_k\).

Найдите количество хороших пар.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число \(t\) (\(1 \le t \le 2 \cdot 10^4\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит одно целое число \(n\) (\(1 \le n \le 10^6\)).

Вторая строка каждого набора входных данных содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le n\)).

Гарантируется, что сумма значений \(n\) по всем наборам входных данных не превосходит \(10^6\).

Выходные данные

Для каждого набора входных данных выведите количество хороших пар.

Примечание

В первом наборе входных данных нет хороших пар.

Во втором наборе входных данных хорошими являются пары \((1, 2)\), \((2, 3)\) и \((2, 4)\).


Примеры
Входные данныеВыходные данные
1 6
4
2 4 4 4
4
2 3 4 4
9
6 8 9 4 6 8 9 4 9
9
7 7 4 4 9 9 6 2 9
18
10 18 18 15 14 4 5 6 8 9 10 12 15 16 18 17 13 11
21
12 19 19 18 18 12 2 18 19 12 12 3 12 12 12 18 19 16 18 19 12
0
3
26
26
124
82

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя