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

1. Камінці

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

n ямок розташовано у ряд. Для натурального k у межах від 1 до n через jk позначимо кількість камінців у k-ій ямці, якщо рахувати ямки зліва направо.

Нехай при деякому натуральному m > 1 послідовність натуральних чисел l1, l2, …, lm зростає.

Двоє гравців грають таким чином:

1-ий рядок вхідного файлу stones.in містить у вказаному порядку натуральні числа n та m, які лежать в межах від 2 до 5 включно.

2-ий рядок цього файлу містить у вказаному порядку послідовність n невід'ємних цілих чисел: j1, j2, …, jn.

3-ій рядок цього файлу містить послідовність m натуральних чисел: l1, l2, …. , lm, що зростає, причому l1 + l2 + … + lm < 246.

Назвемо позицією цієї гри розташування камінців у ямках і номер гравця, чия черга ходити. Відомо, що кількість всіх можливих позицій гри не перевищує 1000.

Створіть програму stones.*, яка у 1-ий рядок вихідного файлу stones.res запише номер гравця (спочатку ходить 1-ий гравець, потім — 2-ий), який може ґарантувати собі виграш. Якщо це буде 1, то кожен з наступних рядків цього самого файлу повинен містити по n невід'ємних цілих чисел, що є кількостями камінців у ямках після 1-го ходу, який веде до перемоги 1-го гравця. Потрібно подати у довільному порядку всі можливі варіанти, по 1 рядку на кожний варіант ходу.

Приклади

stones.datstones.dat
3 2
4 0 1
2 3
2


3 2
2 2 1
2 3
1
2 0 3

2. Вечірка

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

Завдання
Створіть програму, яка допоможе встановити, як розсілися за круглим столом студенти (обличчям до центру столу) й фах кожного з учасників вечірки.

Вхідні дані
Кожен рядок файлу складається з 3-х частин, розділених пропусками:

Всі рядки, крім останнього, закінчуються комою, а останній — крапкою. Всі літери у словах файлу малі, крім перших літер імен. Апостроф не використано. Кількість учасників вечірки, кількість літер у кожному слові та кількість рядків файлу не перевищують 25. Імена та фахи всіх учасників перераховано у файлі party.dat. Всі слова — у називному відмінку. Всі імена та фахи — різні.

Вихідні дані
Кожний рядок файлу має містити по одному, відмінному від інших, варіанту розташування студентів за столом, який не суперечить умові задачі і вхідним даним. Потрібно вказати імена учасників вечірки у порядку обходу столу проти руху годинникової стрілки, якщо дивитися згори: кожний наступний учасник сидить праворуч від попереднього. Починати перелік потрібно з імені студента, яке буде першим у списку імен, впорядкованих у алфавітному порядку української абетки: А Б В Г Ґ Д Е Є Ж З И І Ї Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ю Я. Після кожного імені (через пропуск) потрібно вказати в дужках фах студента. Ім'я кожного наступного учасника потрібно відділити комою і пропуском, а в кінці рядка поставити крапку. Всі слова — у називному відмінку.

Приклад

party.inparty.out
філолог | Кирило,
Кирило < історик,
біолог > Віталій,
Федір > Євген,
хімік > Федір.
Віталій (хімік), Кирило (біолог), Євген (історик), Федір (філолог).

Зауваження щодо кодування літер кирилиці: використовувати кодову таблицю cp1251. Якщо є сумніви, код програми і вміст тестових файлів потрібно набрати/проглянути, використовуючи Блокнот (Notepad).