import re

# 文字列S'（s）および文字列Tを入力する

s = eval(input())

T = eval(input())

# sの"?"を"."に置き換え、新たな文字列（pattern）とする

pattern = s.replace("?", ".")

# sとTの長さの差をNとする

N = len(s) - len(T)

# Sを設定する（初期状態 =  "UNRESTORABLE"）

S = "UNRESTORABLE"

# 0〜Nまでの整数iについて繰り返す

for i in range(N + 1):

    # patternの先頭N - i文字をTの先頭につけ、patternの後方i文字をTの後方につけた文字列を作成する（text）

    text = pattern[:N - i] + T + pattern[::-1][:i][::-1]

    # patternが正規表現としてtextに一致するかを調べる

    matchOB = re.match(pattern, text)

    # 一致する場合

    if matchOB:

        # textの"."を"a"に置き換える

        text = text.replace(".", "a")

        # Sが初期状態のままである場合、もしくはSよりもtextの方が辞書順で小さい場合

        if S == "UNRESTORABLE" or text < S:

            # Sを更新する

            S = text

# Sを出力する

print(S)
# 文字列S'（s）および文字列Tを入力する

s = eval(input())

T = eval(input())

# Sを設定する（初期状態 =  "UNRESTORABLE"）

S = "UNRESTORABLE"

# |s|が|T|以上である場合に探索する

if len(s) >= len(T):

    # sの|T|文字の部分文字列（s_partial）について探索する

    for i in range(len(s) - len(T) + 1):

        s_partial = s[i:i + len(T)]

        # 部分文字列中のj番目の文字を調べる

        for j in range(len(T)):

            # j番目の文字が"?"でもTのj番目の文字でもない場合、繰り返しを抜ける

            if s_partial[j] not in ("?", T[j]):

                s_partial = None

                break

        if s_partial == None:

            continue

        # sの部分文字列をTに置き換えた文字列をtextとする

        text = s[:i] + T + s[i + len(T):]

        # textの"?"を"a"に置き換える

        text = text.replace("?", "a")

        # Sが初期状態のままである場合、もしくはSよりもtextの方が辞書順で小さい場合

        if S == "UNRESTORABLE" or text < S:

            # Sをtextに更新する

            S = text

# Sを出力する

print(S)
import re

# 文字列S'（s）および文字列Tを入力する
s = eval(input())
T = eval(input())
# sの"?"を"."に置き換え、新たな文字列（pattern）とする
pattern = s.replace("?", ".")
# sとTの長さの差をNとする
N = len(s) - len(T)
# Sを設定する（初期状態 =  "UNRESTORABLE"）
S = "UNRESTORABLE"
# 0〜Nまでの整数iについて繰り返す
for i in range(N + 1):
    # patternの先頭N - i文字をTの先頭につけ、patternの後方i文字をTの後方につけた文字列を作成する（text）
    text = pattern[: N - i] + T + pattern[::-1][:i][::-1]
    # patternが正規表現としてtextに一致するかを調べる
    matchOB = re.match(pattern, text)
    # 一致する場合
    if matchOB:
        # textの"."を"a"に置き換える
        text = text.replace(".", "a")
        # Sが初期状態のままである場合、もしくはSよりもtextの方が辞書順で小さい場合
        if S == "UNRESTORABLE" or text < S:
            # Sを更新する
            S = text
# Sを出力する
print(S)

# 文字列S'（s）および文字列Tを入力する
s = eval(input())
T = eval(input())
# Sを設定する（初期状態 =  "UNRESTORABLE"）
S = "UNRESTORABLE"
# |s|が|T|以上である場合に探索する
if len(s) >= len(T):
    # sの|T|文字の部分文字列（s_partial）について探索する
    for i in range(len(s) - len(T) + 1):
        s_partial = s[i : i + len(T)]
        # 部分文字列中のj番目の文字を調べる
        for j in range(len(T)):
            # j番目の文字が"?"でもTのj番目の文字でもない場合、繰り返しを抜ける
            if s_partial[j] not in ("?", T[j]):
                s_partial = None
                break
        if s_partial == None:
            continue
        # sの部分文字列をTに置き換えた文字列をtextとする
        text = s[:i] + T + s[i + len(T) :]
        # textの"?"を"a"に置き換える
        text = text.replace("?", "a")
        # Sが初期状態のままである場合、もしくはSよりもtextの方が辞書順で小さい場合
        if S == "UNRESTORABLE" or text < S:
            # Sをtextに更新する
            S = text
# Sを出力する
print(S)

-import re - -# sの"?"を"."に置き換え、新たな文字列（pattern）とする -pattern = s.replace("?", ".") -# sとTの長さの差をNとする -N = len(s) - len(T) -# 0〜Nまでの整数iについて繰り返す -for i in range(N + 1): -    # patternの先頭N - i文字をTの先頭につけ、patternの後方i文字をTの後方につけた文字列を作成する（text） -    text = pattern[: N - i] + T + pattern[::-1][:i][::-1] -    # patternが正規表現としてtextに一致するかを調べる -    matchOB = re.match(pattern, text) -    # 一致する場合 -    if matchOB: -        # textの"."を"a"に置き換える -        text = text.replace(".", "a") +# |s|が|T|以上である場合に探索する +if len(s) >= len(T): +    # sの|T|文字の部分文字列（s_partial）について探索する +    for i in range(len(s) - len(T) + 1): +        s_partial = s[i : i + len(T)] +        # 部分文字列中のj番目の文字を調べる +        for j in range(len(T)): +            # j番目の文字が"?"でもTのj番目の文字でもない場合、繰り返しを抜ける +            if s_partial[j] not in ("?", T[j]): +                s_partial = None +                break +        if s_partial == None: +            continue +        # sの部分文字列をTに置き換えた文字列をtextとする +        text = s[:i] + T + s[i + len(T) :] +        # textの"?"を"a"に置き換える +        text = text.replace("?", "a") -            # Sを更新する +            # Sをtextに更新する