import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String p = sc.next();
String s = sc.next();
System.out.println(isMatch(s,p));
}
sc.close();
}
public static boolean isMatch(String s, String p) {
if(s.length() == 0 && p.length() == 0)return true;
if(s.length()!= 0 && p.length() == 0) return false;
boolean [][] dp = new boolean [s.length()+1][p.length()+1];
dp[0][0] = true;
for(int j = 2; j <= p.length(); j++){
if(p.charAt(j-1) == '*' && dp[0][j-2]){
dp[0][j] = true;
}
}
for(int i = 1; i <= s.length(); i++){
for(int j = 1; j <= p.length(); j++){
char a = s.charAt(i-1), b = p.charAt(j-1);
if(a == b || b == '?'){
dp[i][j] = dp[i-1][j-1];
}
else if(b == '*'){
if(j>=2){
dp[i][j] = dp[i-1][j] || dp[i][j-2];
}
}
else dp[i][j] = false;
}
}
return dp[s.length()][p.length()];
}
}