#正则化,发现会超时,对输入进行了进一步处理降低复杂度就行了
import re
while True:
try:
str1 = input()#记录第一行
str2 = input()#记录第二行
str1 = list(str1)
counter=0#初始判定值
for i in range (len(str1)):
if str1[i] == "*" and counter ==0:
counter = 1#当为相隔后第一个*时,保留此*并继续
elif str1[i] == "*" and counter ==1:#当后续依然为*时,去除多余*因为*本身代表0-n个,从而减小计算复杂度
str1[i] = ""#比如最后一个例子“h*h*ah**ha*h**h***hha” 重复*太多复杂度太大
else:
counter=0#一旦不是连续的*则重置判定值
str1=''.join(str1)#合并为str
str1 = str1.lower()
str2 = str2.lower()#不分大小写,统一小写处理
str1=str1.replace('?', '[0-9 a-z]')#统一小写+数字,不能用\w因为\w包括下划线,别涂省事规规矩矩打上
str1=str1.replace('*','[0-9 a-z]*')#统一小写+数字 *代表0或多个
str1=str1.replace('.','\.' )#由于.本身代表匹配除换行符以外的任意字符,需要转义
str1 = "^"+str1+"$"
search = re.match(str1, str2)#这道题用match(),如果是要求匹配整个字符串,直到找到一个匹配的规则的字符串则用search()
if search != None:
print('true')
else:
print('false')
except:
break