#include<stdio.h>
#include<string.h>
#include<ctype.h>
int match(char* str1, char* str2) 
{
    if (*str1 == '\0' && *str2 == '\0')
        return 1;
    else if (*str1 == '\0' || *str2 == '\0')
        return 0;
    if (*str1 == '?' || *str1 == *str2)
        return match(str1 + 1, str2 + 1);
    if (*str1 == '*') 
    {
        if (*(str1 + 1) == '*')
            return (match(str1 + 2, str2) || match(str1 + 2, str2 + 1) || match(str1 + 1, str2 + 1));
        else
            return (match(str1 + 1, str2) || match(str1 + 1, str2 + 1) || match(str1, str2 + 1));
    }
    return 0;
}
int main() 
{
    char str1[100], str2[100];
    scanf("%s %s", str1, str2);
    int flag = 1;
    for (int i = 0; i < strlen(str1); i++) 
        if (isupper(str1[i]))
            str1[i]=tolower(str1[i]);
    for (int i = 0; i < strlen(str2); i++) 
    {
        if(isupper(str2[i]))
            str2[i]=tolower(str2[i]);
        if (isalpha(str2[i]) == 0 && isdigit(str2[i]) == 0 && str2[i] != '.')
            flag = 0;
    }
    if (flag==1 && match(str1, str2))
        printf("true\n");
    else
        printf("false\n");
    return 0;
}