У вас есть строка \(s\) и фишка, которую вы можете поставить на любой символ этой строки.
После того, как вы поставите фишку, вы можете подвинуть ее вправо несколько (возможно, ноль) раз, то есть сделать следующее действие несколько раз: если текущая позиция фишки обозначена как \(i\), фишка перемещается в позицию \(i + 1\). Конечно же, это действие невозможно, если фишка находится в последней позиции строки.
После того, как вы закончите двигать фишку вправо, вы можете подвинуть ее влево несколько (возможно, ноль) раз, то есть сделать следующее действие несколько раз: если текущая позиция фишки обозначена как \(i\), фишка перемещается в позицию \(i - 1\). Конечно же, это действие невозможно, если фишка находится в первой позиции строки.
Когда вы ставите фишку или перемещаете ее, вы выписываете символ, на котором оказалась фишка. Например, если строка \(s\) — abcdef, вы ставите фишку на \(3\)-й символ, двигаете ее вправо \(2\) раза, а затем двигаете ее влево \(3\) раза, вы выпишете строку cdedcb.
Вам даны две строки \(s\) и \(t\). Ваше задание — определить, можно ли так выполнить описанные операции со строкой \(s\), что в результате вы выпишете строку \(t\).
Выходные данные
Для каждого набора выходных данных выведите «YES», если можно выписать строку \(t\), проводя описанные в условии действия со строкой \(s\), или «NO» в противном случае.
Каждую букву можно выводить в любом регистре (YES, yes, Yes будут распознаны как положительный ответ, NO, no и nO будут распознаны как отрицательный ответ).
Примечание
Рассмотрим примеры из условия.
Первый набор входных данных разобран в условии.
Во втором наборе входных данных можно поместить фишку на \(1\)-ю позицию, подвинуть ее дважды вправо, а затем дважды влево.
В четвертом наборе входных данных можно поместить фишку на \(2\)-ю позицию, а потом не двигать ее вообще.
В пятом наборе входных данных можно поставить фишку на \(1\)-ю позицию, подвинуть ее \(5\) раз вправо и завершить процесс.