import Data.List.Split (splitOn) import Control.Applicative ((<$>)) str2ver :: String -> (Int, Int, Int) str2ver = (\(x : y : z : _) -> (x, y, z)) . map read . splitOn "." main :: IO () main = do oldver <- str2ver <$> getLine ver <- str2ver <$> getLine putStrLn $ if oldver >= ver then "YES" else "NO"