public class Main {

    public static void main(String[] args) {

        ArrayList<Integer> inputs = new ArrayList<Integer>();
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        String pattern=in.nextLine();
        System.out.println(resolve(str, pattern));
        in.close();
    }

    // write your code here
    public static int resolve(String str,String pattern) {
        if(!pattern.contains("*"))
        	return match(str,pattern);
        
        boolean dp[][]=new boolean[str.length()+1][pattern.length()+1];
        
        for(int i=1;i<dp.length;i++){
        	for(int j=1;j<dp[0].length;j++){
            	dp[i][j]=false;
            }
        }
        dp[0][0]=true;
        
        
        for(int i=1;i<=str.length();i++){
        	for(int j=1;j<=pattern.length();j++){
        		char s=str.charAt(i-1);
        		char p=pattern.charAt(j-1);
        		
        		if(dp[i-1][j-1]&&(s==p||p=='?'||p=='*'))
        			dp[i][j]=true;
        		else{
        			if(dp[i-1][j]&&p=='*')
        				dp[i][j]=true;
        		}
        	}
        }
        /*for(int i=0;i<dp.length;i++){
        	for(int j=0;j<dp[0].length;j++){
        		System.out.print(dp[i][j]+" ");
        	}
        	System.out.println();
        }*/
        return dp[str.length()][pattern.length()]?1:0;
    }
    
    /**
     * 检验不含*的pattern
     * @param str
     * @param patter
     * @return
     */
    public static int match(String str,String pattern){
    	if(str.length()!=pattern.length())
    		return 0;
    	
    	for(int i=0;i<str.length();i++){
    		if(str.charAt(i)!=pattern.charAt(i)&&pattern.charAt(i)!='?')
    			return 0;
    	}
    	
    	return 1;
    }
    
    
    
    
    
}