{-# LANGUAGE BangPatterns #-} {-# LANGUAGE BinaryLiterals #-} {-# LANGUAGE MultiWayIf #-} {-# LANGUAGE NumDecimals #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TupleSections #-} import Control.Applicative import Control.Arrow import Control.Monad import Control.Monad.ST import Data.Char import Data.List import Data.Maybe import qualified Data.ByteString.Char8 as B import Data.Array.ST.Safe import Data.STRef import Debug.Trace import Text.Printf import Data.Time.Calendar readInt = readLn :: IO Int readInts = map ( fst . fromJust . B.readInt ) . B.words <$> B.getLine readNInts = readInt >>= flip replicateM readInt which a b f = if f then a else b mp [ a, b ] = ( a, b ) main = do [ y, m, d ] <- readInts let heisei_begin = fromGregorian 1989 1 8 heisei_end = fromGregorian 2019 4 30 now = fromGregorian ( fromIntegral y ) m d putStrLn $ which "Yes" "No" $ 0 <= diffDays now heisei_begin && 0 <= diffDays heisei_end now