Спілкування з організаторами#4304

Спілкування з організаторами

2 секунди
64 мегабайти
Дуже складна

Отримавши від журі інформацію про можливі перешкоди при передачі сигналу за допомогою лазера, екіпаж тау-китянського корабля повинен врахувати ці перешкоди при читанні отриманих повідомлень. У тау-китянській мові відсутні поняття "початок слова" та "кінець слова", тобто довільні два слова, які перекладаються одне в одне послідовністю з деякого числа циклічних зсувів, еквівалентні. Циклічним зсувом називається перетворення слова, яке полягає у тому, що перший символ слова переставляється у його кінець.

Перешкоди, які створюються хмарами, за розрахунками бортового зв'язківця, можуть привести до того, що рівно одна буква у кожному слові буде прийнята неправильно. Оскільки для розв'язання задачі корекції помилок екіпажу корабля важливо знати, чи може прийняте слово після заміни рівно одного символа на інший, який з ним не співпадає, виявитись еквівалентним словниковому слову тієї ж довжини, необхідно виконати відповідну перевірку.

Напишіть програму, яка виконує таку перевірку.

Вхідні дані

У першому рядку вхідного файлу задано довжину 1 \le n \le 1000000 прийнятого слова. У другому рядку вхідного файлу знаходиться прийняте слово, яке складається з рядкових латинських літер. У третьому рядку знаходиться словникове слово, яке також складається з рядкових латинських літер.

Вихідні дані

У вихідний файл виведіть слово NO, якщо прийняте слово або вже є еквівалентним у розумінні тау-китянської мови словниковому, або не може виявитись еквівалентним словниковому при заміні рівно однієї літери. У протилежному випадку у перший рядок вихідного файлу виведіть YES, а у другий - упорядкований за зростанням список усіх порядкових номерів циклічних зсувів прийнятого слова, при яких рядок, що містить прийняте слово, відрізняється від рядка, що містить словникове, рівно в одній позиції (визначимо порядковий номер циклічного зсуву, який складається з одиничних циклічних зсувів рівним . Порядковий номер "порожнього" зсуву рівний ).

Приклади

Приклад 1

Loading
Loading