import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while (sc.hasNext()){ String str1=sc.nextLine(); String str2=sc.nextLine(); boolean flag=math(str1,str2); System.out.println(flag); } } public static boolean math(String t,String s){ char[] ct= t.toCharArray(); char[] cs=s.toCharArray(); int lt=ct.length; int ls=cs.length; boolean[][] dp=new boolean[ls+1][lt+1]; dp[0][0]=true; for (int i = 0; i <= ls; i++) { for (int j = 1; j <= lt; j++) { if(ct[j-1]=='*'){ if(i==0){ dp[i][j]=dp[i][j-1]; }else { if(cs[i-1]=='.'||(cs[i-1]>='0'&&cs[i-1]<='9')||(cs[i-1]>='a'&&cs[i-1]<='z')||(cs[i-1]>='A'&&cs[i-1]<='Z')){ dp[i][j]=dp[i-1][j]||dp[i][j-1]; } } }else { if(i>0&&defs(ct[j-1],cs[i-1])){ dp[i][j]=dp[i-1][j-1]; } } } } return dp[ls][lt]; } public static boolean defs(char t,char s){ if(t=='?'){ return true; } if(t>='a'&&t<='z'){ t=(char)(t-'a'+'A'); } if(s>='a'&&s<='z'){ s=(char)(s-'a'+'A'); } return s==t; } }