Система доріг Лемурії досить складна. Деякі її міста пов'язані між собою односторонніми або двосторонніми дорогами. Тим не менш, лемури тримають дороги в хорошому стані, та їх карти доріг завжди актуальні.
Г. турист тільки що прибув Пінгвіними авіалініями у місто S Лемурії. Зворотній рейс відправляється з міста F. У Г. є список найпопулярніших пам'яток Лемурії, усі з яких він збирається відвідати. У нього також є остання версія карти доріг, тобто для кожного міста P у нього є список міст, в які можна потрапити прямо з P. Ваше завдання полягає в тому, щоб допомогти туристу спланувати маршрут через Лемурію. Маршрут повинен починатися в S, проходити через усі міста з пам'ятками (в довільному порядку) і закінчуватися в F.
Перший рядок містить чотири цілих числа: кількість міст Лемурії N (1 ≤ N ≤ 2000), кількість міст з пам'ятками K (0 ≤ K ≤ N), та номери міст S та F (усі міста пронумеровані числами починаючи з 1). Другий рядок містить K різних чисел - номери міст з пам'ятками.
Останні N рядків описують карту доріг. Кожний рядок містить N символів: якщо q^{ий} символ (p+2)^{го} рядку дорівнює 1, то існує пряма дорога з міста p у місто q, якщо він дорівнює 0, то прямої дороги не існує. Жодна дорога не веде до міста, в якому починається.
Якщо шляху, що задовольняє умовам, немає, то вивести в одному рядку слово "NO". Інакше в першому рядку вивести слово "YES", у другому - кількість міст на шляху M (M ≤ N^2), а у наступному рядку (рядках) M чисел - номери міст на шляху. Першим має бути місто S, останнім місто F. А для будь-яких двох сусідніх міст на маршруті повинна існувати пряма дорога з одного міста в інше.