# 2024年9月24日 while True: try: s1 = input() s2 = input() # 初始化dp数组 dp = [[False for j in range(len(s2)+1)] for i in range(len(s1)+1)] dp[0][0] = True # 优先处理第0列,因为这一列可以提前预判 for i in range(1,len(s1)+1): if s1[i-1] == '*' or s1[i-1] == '?': # dp[i][0] = True else: break # why? for i in range(1,len(s1)+1): for j in range(1,len(s2)+1): if s1[i-1].lower() == s2[j-1].lower(): dp[i][j] = dp[i-1][j-1] elif s1[i-1] == '?' and s2[j-1].isalnum(): dp[i][j] = dp[i-1][j-1] elif s1[i-1] == '*': dp[i][j] = dp[i-1][j] or dp[i][j-1] if dp[len(s1)][len(s2)]: print('true') else: print('false') except: break