Полі-полігональні числа#6074

Полі-полігональні числа

1 секунда
128 мегабайтів
Легка

Полігональним називається число, яке можна представити у вигляді розташування точок, що утворюють правильний багатокутник. Деякі приклади наведені на рисунку нижче.

prb6074

Перший рисунок демонструє перші трикутних числа: , , , . Наступні три рисунки показують перші чотири квадратних, п'ятикутних і шестикутних числа. У загальному випадку, -гональними є числа, для яких точки утворюють правильний -кутник (трикутні числа є -гональними, квадратні числа — -гональними і так далі). Визначимо як індекс полігонального числа. У цій задачі потрібно знайти числа, які є -гональними для двох або більше значень . Такі числа назвемо полі-гональними.

Вхідні дані

Вхід складається з кількох задач. Кожна задача містить рядки. Перший рядок містить невід'ємне ціле число (n \leq 50), яке вказує на кількість типів полігональних чисел, що цікавлять у цій задачі. Зверніть увагу, що цей рядок може бути довшим за символів. Наступний рядок містить цілих чисел, що вказують на індекси цих полігональних чисел (усі різні та в порядку зростання). Наприклад, якщо перший рядок містить значення , а наступний рядок містить значення , то ця задача цікавиться -гональними, -гональними і -гональними числами. Кожен індекс буде в діапазоні 3 \leq k \leq 1000. Останній рядок задачі складається з одного додатного цілого числа (s \leq 10000), яке служить початковою точкою для пошуку полі-гональних чисел. Значення n = 0 завершує введення.

Вихідні дані

Для кожної задачі ви повинні вивести наступні полі-гональних чисел, які більші або дорівнюють . Кожне число повинно бути на окремому рядку і відповідати наступному формату:

num:k[1] k[2] k[3] ...

де num — це полі-гональне число, а k_1, k_2, k_3, ... — це індекси (в порядку зростання) полі-гонального числа, що дорівнює num. Один пробіл повинен відділяти кожен індекс, і ви повинні відділяти кожну задачу одним порожнім рядком. Гарантується, що максимальне значення будь-якого полі-гонального числа поміститься в змінну типу long.

Приклади

3
3 6 10
10
0
12:3 6
15:3 10
18:3 6
35:6 10
36:3 4 9

Приклад 1

Loading
Loading