#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define MaxSize 1000010
using namespace std;
int inext[MaxSize];
string str1,str2,temp;
int len1,len2;
void get_next()
{
int i=0,j=-1;
inext[0] = -1;
while(i < len2)
{
while(j!=-1&&str2[j]!=str2[i])
j = inext[j];
inext[++i] = ++j;
}
}
int kmp()
{
int i,j;
i = j = 0;
while(i < len1&&j<len2)
{
while(j!=-1&&str1[i]!=str2[j])
{
j = inext[j];
}
i++;
j++;
}
if(j == len2)
return i-j;
return -1;
}
int main()
{
while(cin>>str1)
{
cin>>str2;
len2=str2.length();
get_next();
temp=str1;
str1+=temp;
str1+=temp;
len1=str1.length();
if(kmp()!=-1)
{
cout<<"yes"<<endl;
}
else
{
cout<<"no"<<endl;
}
str1.clear();
str2.clear();
temp.clear();
}
return 0;
}
*(自用)