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