eolymp
bolt
Try our new interface for solving problems
Məsələlər

Биномиальные коэффициенты

Биномиальные коэффициенты

Гуннар - достаточно старый и забывчивый исследователь. Сейчас он пишет статью о безопасности в социальных сетях, которая включает в себя некоторые элементы комбинаторики. Он написал программу для вычисления биномиальных коэффициентов, чтобы проверить некоторые расчеты.

Биномиальный коэффициент Ck_n - это число

prb4008-01

где n и k - неотрицательные числа.

Гуннар использует свою программу для вычисления Ck_n и получил число m в качестве результата. К несчастью, поскольку он забывчивый, он забыл числа n и k, которые он использовал в качестве входных данных. Эти два числа были результатом долгих вычислений, и они были записаны на одном из многочисленных листков, лежащих на его столе. Вместо того чтобы поискать в бумагах, он решил восстановить числа n и k по полученному ответу. Можете ли Вы помочь ему найти все такие возможные значения?

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

Первая строка содержит количество тестов, не большее 100. Каждый тест задается в одной строке и содержит целое число m (2m1015) - результат программы Гуннара.

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

Для каждого теста вывести две строки. Первая строка должна содержать количество способов выразить m при помощи биномиального коэффициента. Во второй строке должны располагаться все пары (n, k), удовлетворяющие Ck_n = m. Пары следует расположить по возрастанию n, а в случае равенства по возрастанию k. Формат вывода пар приведен в примере.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
2
2
15
Çıxış verilənləri #1
1
(2,1)
4
(6,2) (6,4) (15,1) (15,14)
Mənbə 2011 ACM Northwestern Europe (NWERC), Problem A