# t = input() 通配符字符串
# p = input() 要匹配的字符串
# m = len(t)
# n = len(p)
# 先处理空字符串:
# (1) t == '',只有当 p ==''时,为True,否则为False
# (2) t!= ''
# 若:p == '':则当t只包含*时,为True,否则为False
# 若:p !='':则需进行匹配判断
# 从右向左进行匹配:
# 当t[m-1] 为数字字母或者为?时:匹配p[n-1]的一个字符,相等为True
# 当t[m-1] 为 *时,分为两种情况
# 忽略这个*:匹配t[0:m-1]和p;即当做0个字符处理这个*
# 计入这个* :匹配t和p[0:n-1];即当做1个或多个字符处理这个*
def tp_mat(t, p):
m = len(t)
n = len(p)
if p == '' and t== '':
return True
elif p != '' and t == '':
return False
elif p == '':
if t.replace('*','') == '':
return True
else:
return False
else:
if (t[m-1] == '?' and p[n-1].isalnum()) or t[m - 1].lower() == p[n - 1].lower() :
return tp_mat(t[0:m-1], p[0:n-1])
elif t[m-1] == '*':
return tp_mat(t[0:m-1], p) or tp_mat(t, p[0:n-1])
else:
return False
while True:
try:
t = input()
p = input()
re = tp_mat(t, p)
print('true' if re else 'false')
except:
break