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-1; 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[200];
  char p[200];
  char ss[400];

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

 ring(ss,p);

 return 0;
}