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

1. Множники

Максимальна оцінка: 12 балів
Обмеження на час: 0,15 сек.
Обмеження на пам’ять: 4 MБ
Вхідний файл: factor.in
Вихідний файл: factor.out
Програма: factor.*

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

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

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

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

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

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

Приклад

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. Шашка на кубі

Максимальна оцінка: 16 балів
Обмеження на час: 0,15 сек.
Обмеження на пам’ять: 4 MБ
Вхідний файл: draught.in
Вихідний файл: draught.out
Програма: draught.*

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

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

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

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

Приклад

draught.indraught.out
3 31