Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Ring

Write a program which finds a pattern $p$ in a ring shaped text $s$.

Input

In the first line, the text $s$ is given.

In the second line, the pattern $p$ is given.

Output

If $p$ is in $s$, print Yes in a line, otherwise No.

Constraints

$1 \leq $ length of $p \leq $ length of $s \leq 100$

$s$ and $p$ consists of lower-case letters

Sample Input 1

vanceknowledgetoad
advance

Sample Output 1

Yes

Sample Input 2

vanceknowledgetoad
advanced

Sample Output 2

No

Solution in C (judge verdict: Time Limit Exceeded)

#include <stdio.h>
#include <string.h>


void ring(char s[],char p[]){
 int i;
 int j = 0;
 int m = strlen(s);
 int n = strlen(p);

 while(j < n-1 || i != m - 1){
  for(i = 0;i < m; i++){
   if(p[j] == s[i])
    j++;
   else 
    j = 0;

   if(j == n-1) break;
   }
  }

 if(j == n-1)
  printf("Yes\n");
 else
  printf("No\n");


}

int main(){

 char s[100];
 char p[100];
 char ss[200];

 scanf("%s\n%s",s,p);

 strcat(ss,s);
 strcat(ss,s);

 ring(ss,p);

 return 0;
}