#include<bits/stdc++.h>
using namespace std;
long long aa[2000006];
long long bb[2000006];
long long cc[30];
pair<int,int>pp[200000];
vector<int>ww(20);
string ss[105];
map<string ,int >ff[2000];
int main()
{
int n,m;
cin>>n>>m;
string a,b;
cin>>a>>b;
int c=0,k=0,g=0;
for(int i=0;i<a.size();i++)if(a[i]=='*')g++;
if(!g&&a!=b)cout<<"NO"<<endl;
else if(!g&&a.size()!=b.size())cout<<"NO"<<endl;
else if(n>m&&n-m>1)cout<<"NO"<<endl;
else
{
for(int i=0;i<a.size();i++)
{
if(a[i]=='*')break;
if(a[i]!=b[k])
{
c=1;
break;
}
k++;
}
int r=b.size()-1;
for(int j=a.size()-1;j>=0;j--)
{
if(a[j]=='*')break;
if(a[j]!=b[r])
{
c=1;
break;
}
r--;
}
if(c)cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
}
383. Ransom Note | 242. Valid Anagram |
141. Linked List Cycle | 21. Merge Two Sorted Lists |
203. Remove Linked List Elements | 733. Flood Fill |
206. Reverse Linked List | 83. Remove Duplicates from Sorted List |
116. Populating Next Right Pointers in Each Node | 145. Binary Tree Postorder Traversal |
94. Binary Tree Inorder Traversal | 101. Symmetric Tree |
77. Combinations | 46. Permutations |
226. Invert Binary Tree | 112. Path Sum |
1556A - A Variety of Operations | 136. Single Number |
169. Majority Element | 119. Pascal's Triangle II |
409. Longest Palindrome | 1574A - Regular Bracket Sequences |
1574B - Combinatorics Homework | 1567A - Domino Disaster |
1593A - Elections | 1607A - Linear Keyboard |
EQUALCOIN Equal Coins | XOREQN Xor Equation |
MAKEPAL Weird Palindrome Making | HILLSEQ Hill Sequence |