# 幸亏题目提示了双指针,不然可能想到动态规划去了
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")