Спілкування з організаторами
Отримавши від журі інформацію про можливі перешкоди при передачі сигналу при допомозі лазера, екіпаж тау-китянського корабля повинен врахувати ці перешкоди при читанні отриманих повідомлень. У тау-китянській мові відсутні поняття "початок слова" та "кінець слова", тобто довільні два слова, які перекладаються одне в одне послідовністю з деякого числа циклічних зсувів, еквівалентні. Циклічним зсувом називається перетворення слова, яке полягає у тому, що перший символ слова переставляється у цого кінець.
Порешкоди, які створюються хмарами, за розрахунками бортового зв'язківця, можуть привести до того, що рівно одно буква у кожному слові буде прийнята неправильно. Так як для розв'язання задачі корекції помилок екіпажу корабля важливо знати, чи може прийняте слово після заміни рівно одного символа на інший, який з ним не співпадає, виявитись еквівалентним словарному слову тієї ж довжини.
Напишіть програму, яка виконує таку перевірку.
Вхідні дані
У першому рядку вхідного файлу задано довжину 1 ≤ n ≤ 1000000 прийнятого слова. У другому рядку вхідного файлу знаходиться прийняте слово, яке складається з n рядкових латинських літер. У третьому рядку знаходиться словарне слово, яке також складається з n рядкових латинських літер.
Вихідні дані
У вихідний файл виведіть слово NO, якщо прийняте слово або вже є еквівалентним у розумінні тау-китянської мови словарному, або не може виявитись еквівалентним словарному при заміні рівно однієї літери. У протилежному випадку у перший рядок вихідного файлу виведіть YES, а у другий - упорядкований за зростанням список усіх порядкових номерів циклічних зсувів прийнятого слова, після якого рядок, що містить прийняте слово відрізняється від рядка, що містить словарне рівно у одній позиції (визначимо порядковий номер циклічного зсуву, який складається з n одиничних циклічних зсувів рівним n. Порядковий номер "порожнього" зсуву рівний 0).