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

Задача . B. Замостите параллелепипед


Вам дан прямоугольный параллелепипед с целыми положительными сторонами \(A\), \(B\) и \(C\).

Найдите количество различных троек целых чисел (\(a\), \(b\), \(c\)) таких, что \(1\leq a\leq b\leq c\) и параллелепипед \(A\times B\times C\) можно замостить параллелепипедами \(a\times b\times c\). Обратите внимание, что все замощающие параллелепипеды должны быть ориентированы в одну сторону.

Например, параллелепипед \(1\times 5\times 6\) можно разделить на параллелепипеды \(1\times 3\times 5\), но нельзя – на параллелепипеды \(1\times 2\times 3\).

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

Первая строка содержит одно целое число \(t\) (\(1 \leq t \leq 10^5\)) — количество тестов.

Каждая из следующих \(t\) строк содержит три целых числа \(A\), \(B\) и \(C\) (\(1 \leq A, B, C \leq 10^5\)) — размеры параллелепипеда.

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

Для каждого теста выведите количество троек чисел, которые удовлетворяют всем условиям.

Примечание

В первом тесте параллелепипед со сторонами \((1, 1, 1)\) можно разделить только на параллелепипед со сторонами \((1, 1, 1)\).

Во втором тесте параллелепипед со сторонами \((1, 6, 1)\) можно разделить на параллелепипеды со сторонами \((1, 1, 1)\), \((1, 1, 2)\), \((1, 1, 3)\) и \((1, 1, 6)\).

В третьем тесте параллелепипед со сторонами \((2, 2, 2)\) можно разделить на параллелепипеды со сторонами \((1, 1, 1)\), \((1, 1, 2)\), \((1, 2, 2)\) и \((2, 2, 2)\).


Примеры
Входные данныеВыходные данные
1 4
1 1 1
1 6 1
2 2 2
100 100 100
1
4
4
165

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

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