#include<bits/stdc++.h> using namespace std; int main(){ int T; scanf("%d ",&T); while(T--){ static const int maxn=2600; static char s1[maxn],s2[maxn]; static int dp[maxn][maxn]; //scanf("%s%s",s1+2,s2+2); gets(s1+2); gets(s2+2); s1[0]=s2[0]=s1[1]=s2[1]='@'; int l1=strlen(s1); int l2=strlen(s2); dp[0][0]=dp[1][1]=1; for(int j=2;j<l2;j++){ if(s2[j]=='*')dp[1][j]=dp[1][j-2]; else dp[1][j]=0; } for(int i=2;i<l1;i++){ for(int j=2;j<l2;j++){ if(s2[j]=='.')dp[i][j]=dp[i-1][j-1]; else if(s2[j]=='*'){ if(s1[i]!=s1[i-1]){//最多贡献一次 dp[i][j]=dp[i][j-2]||dp[i][j-1]; } else{ dp[i][j]=dp[i][j-2]||dp[i][j-1]||(dp[i-1][j]&&(s1[i-1]==s2[j-1]||s2[j-1]=='.')); } } else dp[i][j]=dp[i-1][j-1]&&s1[i]==s2[j]; } } cout<<(dp[l1-1][l2-1]?"yes":"no")<<endl; } } /* --------aa --------ab* */