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