Поликарп на днях приобрёл себе домашнего робота-андроида. Купил он его на распродаже, при чём одну из немногих моделей — со встроенной кофе-машиной. Но в первые же дни он начал замечать, что зарядки его андроида хватает лишь на сутки, хотя в документации сказано, что её должно хватать на неделю. Обратившись в техподдержку, Поликарп выяснил, что функциональность робота зависит от кода прошивки, который записан в его памяти. Код представляет из себя строку из букв латинского алфавита. Изучив документацию на официальном сайте разработчиков, Поликарп нашёл код прошивки, который позволяет разблокировать такие функции, как пылесос, огнетушитель, которых как раз не хватает Поликарпу, а также продлить время работы до трёх дней, что вполне устроит Поликарпа.
Изучая документацию дальше, Поликарп узнал, что любого робота-андроида можно перепрошить. Перепрошивка представляет из себя сложный процесс и влечёт за собой изменение кода, а точнее переворот какой-то его подстроки (последовательности подряд идущих символов). Но там же сказано, что любой робот может выдержать не более четырёх перепрошивок, иначе он навсегда выйдет из строя.
Поликарп боится потерять своего робота, по-этому просит у Вас помощи. По имеющемуся коду и коду, который Поликарп хочет получить, выясните, можно ли превратить его робота в желаемого андроида не более чем за четыре перепрошивки.
В первой строке ввода содержится строка S — изначальный код прошивки андроида, во второй строке содержится строка T — код, о котором мечтает Поликарп. Каждая строка не пуста, имеет длину не более 32 символов и состоит из букв латинского алфавита.
Выведите «Yes», если из S можно получить T, и «No» иначе.
ABC
abc
No
abcde
deabc
Yes
abcd
dbca
Yes
qwerty
qwerty
Yes
В первом примере невозможно получить желаемый код.
Во втором примере последовательность изменений такая: abcde, abced, cbaed, deabc.
В третьем: abcd, acbd, dbca.
В четвёртом примере код уже идеален.
| Name |
|---|


