Задача №114047. Дети и буквы

Алиса и Боб хотят пройти через турникет в метро. У них есть полоска, на которой в ряд написаны n строчных букв латинского алфавита. Для того, чтобы пройти через турникет, каждый должен приложить к нему бумажку с кодовым словом. Турникет сканирует слово, записанное на бумажке и открывается, позволяя пройти одному человеку. Чтобы запретить человеку ездить по одному билету несколько раз, турникет не откроется если приложить к нему бумажку со словом, которое турникет сканировал до этого.

Алиса и Боб пришли в метро к открытию, поэтому через турникет еще никто не проходил, и он пропустит человека с любым текстом на билете. Детям разрешено вырезать ровно по одному непустому билету из полоски, причем билеты должны состоять из подряд идущих букв полоски и не должны пересекаться . Также, чтобы никто из детей не считал себя обделeнным, билеты, которые они вырежут, должны быть одинаковой длины. После вырезания билетов Алиса, а затем Боб попробуют пройти через турникет. Таким образом, Алиса сможет войти в метро всегда, а Боб сможет войти только если текст на его билете не совпадает с текстом на билете Алисы.

Так как дети маленькие, нужно помочь им определить, можно ли вырезать два различных билета одинаковой длины из полоски, чтобы попасть в метро, и, если это возможно, объяснить им, как это сделать.

Входные данные

В первой строке задано одно целое число n ( 1 ≤ n ≤ 10 6 ) — количество букв, написанных на полоске.

Во второй строке содержится строка, состоящая из n строчных букв латинского алфавита — текст на полоске.

Выходные данные

Если невозможно вырезать из полоски два различных слова одинаковой длины выведите « No » (без кавычек).

Иначе в первой строке выведите « Yes » (без кавычек), а во второй строке выведите три целых числа — номер символа на полоске, с которого начнется билет Алисы, номер символа на полоске, с которого начнется билет Боба и длину билетов, которые вырежут дети. Каждый символ полоски должен попасть не более, чем в один билет, а также тексты на билетах должны быть различны. Символы на полоске нумеруются слева направо, начиная с 1 .

Обратите внимание, что после вырезания билета из полоски, его нельзя переворачивать. Так, например, если вырезать билет po из полоски rpo , то получить билет od , перевернув билет po сверху вниз, не получится.

Примечание

В первом примере Алиса вырежет билет, начинающийся со второго символа полоски и имеющий длину 3. Таким образом, на ее билете будет написано bac . Боб вырежет билет, начинающийся с шестого символа полоски и имеющий длину 3, поэтому на билете Боба будет написано bad .

Во втором примере полоска состоит только из одного символа, поэтому Алиса и Боб не смогут вырезать из нее два непустых слова так, чтобы ни один символ не попал в оба билета.

Система оценки

Тесты к этой задаче состоят из пяти групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов предыдущих групп.

Примеры
Входные данные
8
abacabad
Выходные данные
Yes
2 6 3
Входные данные
1
z
Выходные данные
No
Сдать: для сдачи задач необходимо войти в систему