import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class Main {
    // 用来匹配的方法
    public  static boolean isMatch(String s,String p){// p是模式串,带'*'的,s是非模式串,是待匹配的串
        if(s == null|| s == ""){
            if(p == null || p == "" )
                return true;
            else return false;
        }else if(p == null || p == ""){
            return false;
        }
        char[] textChars = s.toLowerCase().toCharArray();
        char[] patternChars = p.toLowerCase().toCharArray();
        // 遍历文本串,查看是否符合要求
        for(int i = 0; i < textChars.length;i++){
            if(Character.isLetter(textChars[i]) || textChars[i] >= '0' && textChars[i] <= '9' || textChars[i] == '.')
                continue;
            else { return false;}
        }
        // 1.双指针逆序比对
        int sRight = textChars.length - 1;
        int pRight = patternChars.length - 1;
        while(sRight >= 0 && pRight >= 0 && patternChars[pRight] != '*'){

            if(textChars[sRight] == patternChars[pRight] || patternChars[pRight] == '?'){
                sRight--;pRight--;
            }else return false;// 因为字符不匹配没必要再比较下去
        }
        // 2. 循环借宿,如果pRight到了起始位置,但是如果s没有到达起始位置,是要返回false
        if(pRight < 0) return sRight < 0;
        // 3. 如果逆序比对完成,或者遇到了*,开始正序比对
        int pLeft =  0;
        int sLeft = 0;
        // 回溯的位置
        int sRecord = -1;
        int pRecord = -1;
        while(sLeft <= sRight && pLeft <= pRight){// 结束条件就是都到达了逆序比对的位置
            // 1. 如果p串的字符为*,先按照空字符比较,p右移,记下回溯位置
            if(patternChars[pLeft]=='*'){
                pLeft++;sRecord = sLeft;pRecord = pLeft;
            }else if(textChars[sLeft] == patternChars[pLeft] || patternChars[pLeft] == '?'){
                pLeft++;sLeft++;
            }else if(sRecord != -1 && sRecord + 1 <= sRight)// 回溯条件
            {
                sRecord++;sLeft = sRecord;pLeft = pRecord;
            }else return false;// 不匹配
        }
        // 4.循环走完,如果s都结束了,需要看p中没有比对的是不是都是*
        boolean flag = true;
        for(int i = pLeft; i <= pRight;i++){
            if(patternChars[i] != '*') flag = false;
        }
        return flag;
}
    public static void main(String[] args) {
        // 字符串通配符
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String bf1 = sc.nextLine();
            String bf2 = sc.nextLine();
            System.out.println(isMatch(bf2,bf1));
        }
    }
}