11655. Зсув вправо


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Степан має рядок \(S\), що складається з малих англійських літер. На цьому рядку він виконає наведену нижче операцію лише один раз.

  • Спочатку виберіть невід’ємне ціле число \(K\).

  • Потім перемістіть кожен символ \(S\) вправо на \(K\) (див. нижче).

тут,

  • a, зміщене вправо на 1, є b;

  • b, зміщений вправо на 1, є c;

  • c, зміщений вправо на 1, є d;

\(\cdots\)

  • y, зміщений вправо на 1, є z;

  • z, зміщений вправо на 1, є a.

Наприклад, b, зміщений вправо на 4, є f, а y, зміщений вправо на 3, є b.

Вам дається рядок \(T\). Визначте, чи може Степан зробити \(S\) рівним \(T\) за допомогою описаної операції.

Формат вхідних даних

Перший рядок містить рядок \(S\)

Наступний  рядок містить рядок \(T\)

Кожен із \(S\) і \(T\) є рядком довжиною від 1 до \(10^5\) (включно), що складаються з малих англійських літер. Довжини \(S\) і \(T\) рівні.

Формат вихідних даних

У вихідний потік вивести \(Yes\) або \(No\) - відповідь на поставлене завдання

Примітка

До прикладу 1:

При K=8,

  • a зміщується вправо на 8 і стає i,

  • b зміщується вправо на 8 і стає j,

  • c зміщується вправо на 8 і стає k,

і тепер \(S\) і \(T\) рівні.

Приклад вхідних даних

abc
ijk

Приклад вихідних даних

Yes

Приклад вхідних даних

z
a

Приклад вихідних даних

Yes

Приклад вхідних даних

ppq
qqp

Приклад вихідних даних

No

Коментарі

Ще немає коментарів.