题目链接:http://codeforces.com/contest/1023/problem/A
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s[200005],t[200005];
int main(){
int n,m;
while(~scanf("%d%d",&n,&m)){
scanf("%s",s);
scanf("%s",t);
if((n-m)>1)
printf("NO\n");
else{
int flag=0,tp;
for(int i=0;i<n;i++){
if(s[i]=='*'){
flag=1;
tp=i;
break;
}
}
if(flag==0){
if(strcmp(s,t)==0)
printf("YES\n");
else
printf("NO\n");
}
else{
int f1=1,f2=1;
for(int i=0;i<tp;i++){
if(s[i]!=t[i]){
f1=0;
break;
}
}
for(int i=n-1;i>tp;i--){
m--;
if((m<0)||(s[i]!=t[m])){
f2=0;
break;
}
}
if(f1&&f2)
printf("YES\n");
else
printf("NO\n");
}
}
}
return 0;
}