fun readStr () = let fun scan reader stream = SOME (StringCvt.splitl (not o Char.isSpace) reader (StringCvt.skipWS reader stream)) in valOf (TextIO.scanStream scan TextIO.stdIn) end exception BadInput fun findAns a b = let fun findAnsAux [] _ = raise BadInput | findAnsAux _ [] = raise BadInput | findAnsAux (#"4"::_) (#"7"::_) = a | findAnsAux (#"7"::_) (#"4"::_) = b | findAnsAux (h1::tl1) (h2::tl2) = if h1 > h2 then a else if h1 < h2 then b else findAnsAux tl1 tl2 in if String.size a < String.size b then b else if String.size a > String.size b then a else findAnsAux (String.explode a) (String.explode b) end val () = let val a = readStr () val b = readStr () val ans = findAns a b in print (ans ^ "\n") end