Задача №1866. Корни k-й степени

Вася занимается разработкой эффективного алгоритма нахождения корня \(k\)-й степени. Неудивительно, что в скором будущем ему потребуются наборы тестовых данных.

Васин коллега Петя уже подготовил массив целых чисел \(a\). Однако, оказалось, что эти числа выбирались довольно случайно, а Васин алгоритм устроен таким образом, что успешно находит корень, лишь если он является целым числом.

Вася решил создать новый массив из таких чисел, которые будут подходить его алгоритму. Для этого он планирует использовать все такие пары \((a_i, a_j)\), что \(i < j\) и \(a_i \cdot a_j = x^k\) для какого-то целого \(k\).

Помогите Васе вычислить количество таких пар.

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

Входной файл содержит не более \(10\,000\) тестов. Первая строка каждого теста содержит целые числа \(n\) и \(k\) (\(1 \le n, k \le 100\,000\)). Вторая строка содержит \(n\) чисел \(a_i\) (\(1 \le a_i \le 1\,000\,000\)).

Сумма \(n\) по всем тестам не превосходит \(100\,000\).

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

Для каждого теста запишите ответ на задачу. Следуйте формату вывода в примере как можно точнее.

Примеры
Входные данные
4 2
2 8 3 2
3 5
17 239 1
2 2
17 17
Выходные данные
Case #1: There are 3 pairs.
Case #2: There are 0 pairs.
Case #3: There are 1 pairs.
Сдать: для сдачи задач необходимо войти в систему