Завдання № 11
відбірково-тренувальних зборів
команди міста Києва

1. Множники

Завдання
Створіть програму factor.*, яка розкладе многочлен з цілими коефіцієнтами на множники — многочлени з цілими коефіцієнтами, що вже неможливо розкласти на множники-двочлени з цілими коефіцієнтами. Розв'язання задачі не вимагає подання чисел масивами їхніх цифр, якщо на зберігання цілих чисел відведено 4 байти.

Вхідні дані
Вхідний файл factor.in містить у вказаному порядку натуральне число n — степінь многочлена й (n + 1) ціле число — коефіцієнти многочлена в порядку спадання степеня від n до 0 включно, n < 100.

Вихідні дані
Перший рядок файлу factor.out містить знак старшого коефіцієнта многочлена та найбільший спільний дільник всіх його коефіцієнтів.

Кожний наступний рядок цього самого файлу містить у вказаному порядку такі цілі числа:

Порядок рядків вихідного файлу, починаючи з другого, довільний. Це стосується і рядка даних про дільник многочлена, що не є двочленом (остача від ділення многочлена на всі його дільники-двочлени, враховуючи їх кратність).

Кожне число файлу factor.out має не більше двох цифр.

Приклад

factor.infactor.out
7 -84 84 -133 196 -140 77 -35 7



-7
2 1 2 -1
1 2 3 0 1
1 3 1 0 1 -1

2. Шашка на кубі
Поверхню куба відрізками, паралельними до ребер куба, поділено на квадратні клітини, довжина сторін яких у l (непарне натуральне число) разів менша за довжину ребра куба. Шашку пересувають за один хід з клітини на довільну суміжну з нею (що має з даною спільну сторону).

Завдання
Створіть програму draught.*, яка обчислить, скількома різними способами може шашка потрапити за m ходів з клітини в центрі однієї ґрані на клітину, розташовану в центрі суміжної ґрані.

Вхідні дані
Вхідний файл draught.in містить натуральні числа l та m, де l < 52, m < 200.

Вихідні дані
Вихідний файл draught.out має містити ціле число — шукану кількість способів.

Приклад

draught.indraught.out
3 31