H题
#include<bits/stdc++.h>
using namespace std;
char t[100010],r[100010],tem[100010];
int main(){
cin>>t>>r;
bool flag=true;
int lent=strlen(t),lenr=strlen(r);
for(int i=0;i<lent;i++) tem[i]=t[i];
for(int j=0;j<lent&&flag;j++){
int p=0;
while((t[j]==r[p])&&tem[j]!='0'){
tem[j]='0';flag=false;
if(t[j+1]==r[p+1]){p++;j++;}
}
}
flag=true;
for(int j=lent-1;j>=0&&flag;j--){
int p=lenr-1;
while((t[j]==r[p])&&tem[j]!='0'){
tem[j]='0';flag=false;
if(t[j-1]==r[p-1]){p--;j--;}
}
}
//for(int i=0;i<lent;i++)cout<<tem[i];
//cout<<endl;
flag=true;
for(int i=0;i<lent;i++){
if(tem[i]!='0'){flag=false;break;}
}
if(flag) cout<<"YES";
else cout<<"NO";
return 0;
}