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;
}