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