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

1. Підпослідовність

Завдання
Створити програму subseq.* для обчислення довжини найдовшої спільної підпос­лідов­ності двох послідов­ностей {xj}kj = 1 і {yj}lj = 1.

Вхідні дані
Файл subseq.in містить у вказаному порядку невід'ємні цілі числа k, x1, x2, …, xk, l, y1, y2, …, yl, де k + l < 16 000, а члени послідовностей менші за 65 432.

Вихідні дані
Файл subseq.out має міститти лише шукану довжину найдовшої спільної підпос­лідов­ності.

Приклад

subseq.insubseq.out
5 1 2 3 4 5
4 1 3 5 7
3

2. Сiм'я

Завдання
Створiть програму family.*, яка визначає ступiнь родичiвства чи свояцтва.

Вхідні дані
Перші два рядки файлу family.in мiстять по одному iменi двох рiзних персонажiв.

Усi наступні рядки family.in мають такий вигляд:

Родовий відмінок іменників в українській мові утворюють:

Вхiднi данi не мiстять iмен з III-ої вiдмiни й iмен з II вiдмiни, якi закiнчуються на м'який знак. Імена складаються з одного слова. Розрiзняються персонажi з однаковими iменами, якщо цi iмена записано рiзними за висотою лiтерами (великими чи малими). Імена мiстять не бiльше 20 лiтер. Кiлькiсть персонажiв не перевищує 30.

Вихідні дані
Файл family.out повинен мати такий вигляд:

Приклад

family.infamily.out
Борис
Олександр
Надія - дружина Бориса
Олександр - син Надії
Борис - батько Олександра



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