#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define LEN 100

// 递归函数进行通配符匹配
int wildcardMatch(const char *pattern, const char *str) {
    if (*pattern == '\0') {
        return *str == '\0';
    }
    if (*pattern == '*') {
        // 如果是星号,尝试跳过星号并匹配剩余部分
        while (*pattern == '*') {
            pattern++;
        }
        if (*pattern == '\0') {
            return 1;
        }
        for (int i = 0; str[i]!= '\0'; i++) {
            if (wildcardMatch(pattern, str + i)) {
                return 1;
            }
        }
        return 0;
    } else if (*pattern == '?') {
        // 如果是问号,检查下一个字符是否为数字或字母
        return *str!= '\0' && (isalnum(*str) || islower(*str) || isupper(*str)) && wildcardMatch(pattern + 1, str + 1);
    } else {
        // 如果是普通字符,进行大小写不敏感的比较并继续匹配下一个字符
        return (tolower(*pattern) == tolower(*str)) && wildcardMatch(pattern + 1, str + 1);
    }
}

int main() {
    char s1[LEN], s2[LEN];
    while (scanf("%s\n%s", s1, s2)!= EOF) {
        if (wildcardMatch(s1, s2)) {
            printf("true\n");
        } else {
            printf("false\n");
        }
    }
    return 0;
}