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

Вірусна етика

Вірусна етика

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

Я першийй раз потрапив у ЛКШ у цьому році. Мені дуже жалко, що я не можу з вами поспілкуватись особисто, а мережеве спілкування зі мною навряд чи прийдеться вам до душі. Справа у тому, що я вірус. Зараз я живу на ноутбуці одного недбайливого школяра. Мій творець запрограмував мене таким чином, що я намагаюсь дістатись до ноутбука директора зміни. Я знаю, з якого комп'ютера на який я можу себе скопіювати. Але я не знаю алгоритм, за яким я буду подорожувтаи по локальній мережі - мені лише відомо, що я почну свій шлях на комп'ютері школяра, а завершу - на комп'ютері директора. При цьому я можу побувати на одному і тому ж комп'ютері декілька разів.

Але я не хочу цього! Усі комп'ютери, які зустрінуться на моєму шляху, будуть пошкоджені. Я хочу попередити їх хазяїв - взнати список усіх комп'ютерів, на яких я теоретично зможу побувати на шляху до своєї мели, і попередити їх. Допоможіть мені це зробити!

Вхідні дані

У першому рядку через пропуск записані цілі числа n, a, b (2n200, 1a, bn, ab) - кількість комп'ютерів у локальній мережі, номер комп'ютера школяра, на якому я зараз живу, і номер комп'ютера директора. Кожен з наступних n рядків містить рівно n символів. У i-му рядку на j-й позиції стоїть символ "1", якщо я зможу скопіювати себе з i-го комп'ютера на j-й, і "0" у протилежному випадку. Вважається, що я не можу скопіювати себе з комп'ютера на той же самий комп'ютер. Гарантується, що я зможу дістатись від комп'ютера a до комп'ютера b.

Вихідні дані

У першому рядку виведіть кількість комп'ютерів, які я можливо відвідаю на шляху від комп'ютера a до комп'ютера b. У другому рядку виведіть номери цих комп'ютерів у довільному порядку.

Приклад

Вхідні дані #1
5 2 4
01000
00100
00010
00001
00000
Вихідні дані #1
3
2 3 4 
Джерело 15 Международная олимпиада для школьников ЛКШ D,C',C,B'