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

1. Остача
Для зручності запису умови позначимо a b через a ^ b.

Завдання
Створіть програму remain.*, яка обчислить остачу від ділення на a0 числа

a1^ (a2^ (a3^…(an – 2^ (an – 1^ an))…)).

Вхідні дані
Файл remain.in містить у вказаному порядку натуральні числа n, a0, a1, a2, …, an у межах від 1 до 216, n ≤ 9.

Вихідні дані
Файл remain.out має міститти лише шукану остачу.

Приклад

remain.inremain.out
5 4 3 5 7 9 113

2. Множення

Завдання
Створіть програму сripto.*, яка дешифрує запис дії множення.

Вхідні дані
Файл сripto.in містить запис виконання дії множення двох натуральних чисел у стовпчик, з якого вилучено знаки множення і додавання, а більшість цифр замінено на символ «*». Результат множення першого співмножника на цифру 0 другого співмножника не відображено. Кожен рядок файлу має не більше, ніж 60 символів, а пропуски є лише перед зашифрованим записом чисел.

Вихідні дані
Файл сripto.out має містити десяткові записи співмножників. Вхідні дані ґарантують: кількість розв'язків не перевищує 1. Якщо розв'язку немає, то файл має містити запис: «No solution!»

Приклад

сripto.inсripto.out
   ***
   *7*
  ----
  ****
  ***
*2**
------
*****5
135 979







Примітка щодо оцінювання
Бали за запис: «No solution!» присуджують лише тоді, коли є хоча б одна правильна відповідь на інший тест, що містить два числа.