#include <iostream>
using namespace std;
bool match(const char* p, const char* s) {
if (*p == '\0' && *s == '\0') return true;
if (*p == '\0' || *s == '\0') return false;
if (*p == '?') {
if (!isdigit(*s) && !isalpha(*s)) return false;
return match(p + 1, s + 1);
} else if (*p == '*') {
while (*p == '*') p++;
p--;
if (!isdigit(*s) && !isalpha(*s)) return false;
// *匹配一个,匹配0个,匹配多个
return match(p + 1, s + 1) || match(p + 1, s) || match(p, s + 1);
} else if (tolower(*p) == tolower(*s)) {
return match(p + 1, s + 1);
}
return false;
}
int main() {
string s1, s2;
while (cin >> s1 >> s2) {
bool flag = match(s1.c_str(), s2.c_str());
if (flag) cout << "true" << endl;
else cout << "false" << endl;
}
return 0;
}