eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Чудо-дерево

Чудо-дерево

На одній з гілок чудо-дерева садівник виростив плоди деяких фруктів (бананів, апельсинів і т.д.) і тепер хоче зібрати врожай. Він може зривати по два плоди, що ростуть поряд, але як тільки він зриває ці плоди, на гілці між ними відразу ж виростає ще один новий плід. Причому те, яким буде цей плід повністю визначається типом тих двох плодів, які було зірвано. Оскільки кожен раз кількість фруктів зменшується на \textbf{1}, рано чи пізно відбудеться те, що залишиться усього один плід, який неможна буде зірвати. Ваша задача - вияснити яким може виявитиясь цей останній плід. \InputFile У першому рядку вхідного файлу задано два цілих числа \textbf{N} і \textbf{k} (\textbf{1} ≤ \textbf{N} ≤ \textbf{500}, \textbf{1} ≤ \textbf{k} ≤ \textbf{10}), де \textbf{N} - кількість плодів на гілці, а \textbf{k} - кількість типів плодів, які можуть рости на чудо-дереві. У другому рядку записано \textbf{N} цілих чисел, які визначають типи плодів, що ростуть послідовно один за одним на гілці, ці числа знаходяться у межах від \textbf{1} до \textbf{k}. У кожному з останніх \textbf{k} рядків задано по \textbf{k} чисел, правила проростання нових плодів: \textbf{j}-те число у \textbf{i}-му рядку визначає тип плоду, який виросте, якщо зірвати два послідовних плоди, перший з яких буде \textbf{i}-го типу, а другий - \textbf{j}-го. \OutputFile У єдиному рядку вихідного файлу виведіть у порядку зростання типи плодів, які можуть виявитись у якості останнього на гілці чудо-дерева.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
4 3
1 2 3 1
1 2 3
2 3 1
3 1 2
Вихідні дані #1
1