import Data.List

main :: IO ()
main = do
  s <- getLine
  t <- getLine
  let ans = sort $ solve s t
  putStrLn $ if null ans
             then "UNRESTORABLE" else head ans

solve :: String -> String -> [String]
solve s t = go 0
  where
    go :: Int -> [String]
    go i
      | i -1 == length s - length t = []
      | otherwise =
          make i ++ go (i+1)
    make n = if ls'
             then [fs' ++ t ++ drop (length t) ls'']
             else []
      where
        (fs, ls) = splitAt n s
        fs' = map (\c -> if c == '?' then 'a' else c) fs
        ls' = all (\(s1, s2) ->
                     (s1 == '?' || s1 == s2)) $ zip ls t
        ls'' = map (\c -> if c == '?' then 'a' else c) ls
