B - String Rotation Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 200

問題文

英小文字からなる文字列 S, T が与えられます。

S を回転させて T に一致させられるか判定してください。

すなわち、以下の操作を任意の回数繰り返して ST に一致させられるか判定してください。

操作: S = S_1 S_2 ... S_{|S|} のとき、SS_{|S|} S_1 S_2 ... S_{|S|-1} に変更する

ここで、|X| は文字列 X の長さを表します。

制約

  • 2 \leq |S| \leq 100
  • |S| = |T|
  • S, T は英小文字からなる

入力

入力は以下の形式で標準入力から与えられる。

S
T

出力

S を回転させて T に一致させられる場合は Yes、一致させられない場合は No を出力せよ。


入力例 1

kyoto
tokyo

出力例 1

Yes
  • 1 回目の操作で kyotookyot になります
  • 2 回目の操作で okyottokyo になります

入力例 2

abc
arc

出力例 2

No

何度操作を行っても abcarc を一致させられません。


入力例 3

aaaaaaaaaaaaaaab
aaaaaaaaaaaaaaab

出力例 3

Yes

Score : 200 points

Problem Statement

You are given string S and T consisting of lowercase English letters.

Determine if S equals T after rotation.

That is, determine if S equals T after the following operation is performed some number of times:

Operation: Let S = S_1 S_2 ... S_{|S|}. Change S to S_{|S|} S_1 S_2 ... S_{|S|-1}.

Here, |X| denotes the length of the string X.

Constraints

  • 2 \leq |S| \leq 100
  • |S| = |T|
  • S and T consist of lowercase English letters.

Input

Input is given from Standard Input in the following format:

S
T

Output

If S equals T after rotation, print Yes; if it does not, print No.


Sample Input 1

kyoto
tokyo

Sample Output 1

Yes
  • In the first operation, kyoto becomes okyot.
  • In the second operation, okyot becomes tokyo.

Sample Input 2

abc
arc

Sample Output 2

No

abc does not equal arc after any number of operations.


Sample Input 3

aaaaaaaaaaaaaaab
aaaaaaaaaaaaaaab

Sample Output 3

Yes