Чудо-дерево
На одній з гілок чудо-дерева садівник виростив плоди деяких фруктів (бананів, апельсинів і т.д.) і тепер хоче зібрати врожай. Він може зривати по два плоди, що ростуть поряд, але як тільки він зриває ці плоди, на гілці між ними відразу ж виростає ще один новий плід. Причому те, яким буде цей плід повністю визначається типом тих двох плодів, які було зірвано.
Оскільки кожен раз кількість фруктів зменшується на 1, рано чи пізно відбудеться те, що залишиться усього один плід, який неможна буде зірвати. Ваша задача - вияснити яким може виявитиясь цей останній плід.
Вхідні дані
У першому рядку вхідного файлу задано два цілих числа N і k (1 ≤ N ≤ 500, 1 ≤ k ≤ 10), де N - кількість плодів на гілці, а k - кількість типів плодів, які можуть рости на чудо-дереві. У другому рядку записано N цілих чисел, які визначають типи плодів, що ростуть послідовно один за одним на гілці, ці числа знаходяться у межах від 1 до k. У кожному з останніх k рядків задано по k чисел, правила проростання нових плодів: j-те число у i-му рядку визначає тип плоду, який виросте, якщо зірвати два послідовних плоди, перший з яких буде i-го типу, а другий - j-го.
Вихідні дані
У єдиному рядку вихідного файлу виведіть у порядку зростання типи плодів, які можуть виявитись у якості останнього на гілці чудо-дерева.