Poly-полігонометричні числа
Полігональним називається число, яке можна представити у вигляді розташування точок, що утворюють правильний багатокутник. Деякі приклади наведені на рисунку нижче.
Перший рисунок демонструє перші 4 трикутних числа: 1, 3, 6, 10. Наступні три рисунки показують перші чотири квадратних, п'ятикутних і шестикутних числа. У загальному випадку, k- гональними є числа, для яких точки утворюють правильний k-кутник (трикутні числа є 3-гональними, квадратні числа 4-гональними і так далі). Визначимо k як індекс полігонального числа. У цій задачі потрібно знайти числа, які є k-гональними для двох або більше значень k. Такі числа назвемо полі-гональними.
Вхідні дані
Складаються з кількох задач. Кожна задача містить 3 рядки. Перший рядок містить невід'ємне ціле число n ≤ 50, яке вказує на кількість типів полігональних чисел, що цікавлять у цій задачі. Зверніть увагу, що цей рядок може бути довшим за 80 символів. Наступний рядок містить n цілих чисел, що вказують на індекси цих полігональних чисел (усі різні та в порядку зростання). Наприклад, якщо перший рядок містить значення 3, а наступний рядок містить значення 3 6 10, то ця задача цікавиться 3-гональними, 6-гональними і 10-гональними числами. Кожен індекс k буде в діапазоні 3 ≤ k ≤ 1000. Останній рядок задачі складається з одного додатного цілого числа s ≤ 10000, яке служить початковою точкою для пошуку полі-гональних чисел. Значення n = 0 завершує введення.
Вихідні дані
Для кожної задачі ви повинні вивести наступні 5 полі-гональних чисел, які більші або дорівнюють s. Кожне число повинно бути на окремому рядку і відповідати наступному формату:
num:k[1] k[2] k[3] ...
де num — це полі-гональне число, а k[1]
, k[2]
, k[3]
... — це індекси (в порядку зростання) полі-гонального числа, що дорівнює num. Один пробіл повинен відділяти кожен індекс, і ви повинні відділяти кожну задачу одним порожнім рядком. Вхідні дані від суддів будуть такими, що максимальне значення для будь-якого полі-гонального числа буде t у змінній типу long.