Даны целые неотрицательные числа n и k. Требуется найти разложение C(n,k) на простые множители.
Входные данные
Первая строка содержит количество тестов t (t ≤ 10). Каждая из следующих t строк является отдельным тестом и содержит числа n и k (0 ≤ n ≤ 100000, 0 ≤ k ≤ n), разделенные пробелом.
Выходные данные
Вывести t строк, каждая из которых содержит разложение числа C(n,k) на простые множители для соответствующих входных значений.
Разложение натурального числа N на простые множители следует выводить следующим образом. Если N = 1, то необходимо вывести "1" (без кавычек), иначе пусть N = p1a1 * ... * pdad, где p1, ..., pd - все различные простые делители числа N, упорядоченные по возрастанию, и a1, ..., ad - натуральные числа (ai равно максимальной степени, в которой pi делит N). Тогда необходимо вывести строку вида
p1[^a1] * p2[^a2] * ... * pd[^ad]
Здесь [^ai] означает, что необходимо не писать ^ai, если ai = 1.
Пример входных данных31 1 4 2 6 3 |
Пример выходных данных12 * 3 2^2 * 5 |