main = do
  s <- getLine
  t <- getLine
  let ans = compute s t
  putStrLn ans

compute :: String -> String -> String
compute s t
  | null rs = "UNRESTORABLE"
  | True = last rs
  where
    rs =
      [ map ena (s1 ++ t ++ drop (length t) s2)
      | (s1,s2) <- map (flip splitAt s) [0..length s - length t]
      , match t s2
      ]

match "" _ = True
match (_:ts) ('?':ss) = match ts ss
match (t:ts) (s:ss) = t == s && match ts ss

ena '?' = 'a'
ena c = c
