30 = 2 * 3 * 5, так что a и b могут содержать в разложении на простые множители только числа 2, 3, 5, притом не более чем в 1 степени.
Пусть a = 2^a1 * 3^a2 * 5^a3 и b = 2^b1 * 3^b2 * 5^b3. Тогда нужно подсчитать число пар троек ((a1, a2, a3), (b1, b2, b3)) таких, что max(ai, bi) = 1 и ai, bi - 0 или 1.
Так как пары (a1, b1), (a2, b2) и (a3, b3) можно выбирать независимо, посмотрим на пару (a1, b1). С учетом ограничений возможны 3 варианта: (0, 1), (1, 0) и (1, 1). Тогда всего пар троек ((a1, a2, a3), (b1, b2, b3)) должно быть 3^3 = 27.
Но так будет, только если пары (a, b) и (b, a) считать различными. Иначе некоторые пары при таком подходе оказываются подсчитанными дважды. Посмотрим, сколько пар мы учли по 2 раза.
Легче подсчитать, сколько пар учтены только один раз. Действительно, один раз учтены те пары, для которых (a, b) и (b, a) - одно и тоже, т.е. пары, в которых a = b. Несложно сообразить, что такая пара только одна - (30, 30). Тогда среди 27 - 1 = 26 пар все подсчитаны дважды.
Таким образом, уникальных (не учитывающих порядок a, b) пар среди 26 последних рассмотренных пар будет ровно 26 / 2 = 13. Добавляя к этим парам еще и (30, 30), получаем ответ
13 + 1 = 14 пар.