
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
const int N = 1000002;
int Next[N];
char S[N], T[N];
int slen, tlen;//注意每次一定要计算长度
void getNext()
{
int j, k;
j = 0; k = -1; Next[0] = -1;
while(j < tlen)
if(k == -1 || T[j] == T[k])
Next[++j] = ++k;
else
k = Next[k];
}
int KMP_Index()
{
int i = 0, j = 0;
getNext();
while(i < slen && j < tlen)
{
if(j == -1 || S[i] == T[j])
{
i++; j++;
}
else
j = Next[j];
}
if(j == tlen)
return 1;
else if(i>=slen)
{
for(i=0;i<slen;i++)
{
if(S[i]!=T[j])
{
return -1;
}
j++;
if(j>=tlen)
return 1;
}
}
return -1;
}
int main()
{
int TT;
int i, cc;
while(scanf("%s",S)!=EOF)
{
scanf("%s",T);
slen = strlen(S);
tlen = strlen(T);
if(KMP_Index()==1)
printf("yes\n");
else
printf("no\n");
}
return 0;
}