import Data.List

main = do
    s <- getLine
    t <- getLine
    let n = length s
        m = length t
    putStrLn . reply . sort $ map qtoa [take (n - length s') s ++ t ++ drop m s' | s' <- tails s, check s' t]

check _ [] = True
check [] _ = False
check (s:ss) (t:ts) | s == '?' || s == t = check ss ts
                    | otherwise = False

qtoa [] = []
qtoa (x:xs) | x == '?' = 'a' : qtoa xs
            | otherwise = x : qtoa xs

reply [] = "UNRESTORABLE"
reply xs = head xs