import sys,collections

sys.setrecursionlimit(10**7)

def Is(): return [int(x) for x in sys.stdin.readline().split()]

def Ss(): return sys.stdin.readline().split()

def I(): return int(sys.stdin.readline())

def S(): return eval(input())



Sp = S()

T = S()

S = ""

flag = True

for i in range(len(Sp)-len(T),-1,-1):

    if flag:

        for j in range(len(T)):

            if Sp[i+j] != "?" and T[j] != Sp[i+j]:

                break

            elif j == len(T)-1:

                S = Sp[0:i] + T + Sp[i+j+1:len(Sp)]

                flag = False

if S == "":

    print("UNRESTORABLE")

else:

    print((S.replace("?", "a")))

Sp = eval(input())

T = eval(input())

S = ""

flag = True

for i in range(len(Sp)-len(T),-1,-1):

    if flag:

        for j in range(len(T)):

            if Sp[i+j] != "?" and T[j] != Sp[i+j]:

                break

            elif j == len(T)-1:

                S = Sp[:i] + T + Sp[i+j+1:]

                flag = False

if S == "":

    print("UNRESTORABLE")

else:

    print((S.replace("?", "a")))

import sys, collections

sys.setrecursionlimit(10**7)


def Is():
    return [int(x) for x in sys.stdin.readline().split()]


def Ss():
    return sys.stdin.readline().split()


def I():
    return int(sys.stdin.readline())


def S():
    return eval(input())


Sp = S()
T = S()
S = ""
flag = True
for i in range(len(Sp) - len(T), -1, -1):
    if flag:
        for j in range(len(T)):
            if Sp[i + j] != "?" and T[j] != Sp[i + j]:
                break
            elif j == len(T) - 1:
                S = Sp[0:i] + T + Sp[i + j + 1 : len(Sp)]
                flag = False
if S == "":
    print("UNRESTORABLE")
else:
    print((S.replace("?", "a")))

Sp = eval(input())
T = eval(input())
S = ""
flag = True
for i in range(len(Sp) - len(T), -1, -1):
    if flag:
        for j in range(len(T)):
            if Sp[i + j] != "?" and T[j] != Sp[i + j]:
                break
            elif j == len(T) - 1:
                S = Sp[:i] + T + Sp[i + j + 1 :]
                flag = False
if S == "":
    print("UNRESTORABLE")
else:
    print((S.replace("?", "a")))

-import sys, collections - -sys.setrecursionlimit(10**7) - - -def Is(): -    return [int(x) for x in sys.stdin.readline().split()] - - -def Ss(): -    return sys.stdin.readline().split() - - -def I(): -    return int(sys.stdin.readline()) - - -def S(): -    return eval(input()) - - -Sp = S() -T = S() +Sp = eval(input()) +T = eval(input()) -                S = Sp[0:i] + T + Sp[i + j + 1 : len(Sp)] +                S = Sp[:i] + T + Sp[i + j + 1 :]