# 幸亏题目提示了双指针,不然可能想到动态规划去了
import sys
lines = []
for line in sys.stdin:
line = line.strip()
lines.append(line)
num = int(lines[0])
def judge(s, t):
j = 0 # index of t
for i in range(len(s)):
# print('compare', s[i], t[j])
if s[i] == t[j] or s[i] == '?':
s = s[:i] + t[j] + s[i+1:]
# print('s changed', s)
j += 1
if j >= len(t):
s = s.replace("?", 'a')
return s
else:
pass
# print('not eq', s[i] , t[j] )
return False
for i in range(1, 2*num, 2):
s = lines[i]
t = lines[i+1]
result = judge(s, t)
if result:
print('YES')
print(result)
else:
print("NO")