{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE BangPatterns #-} import Control.Applicative import Control.Monad import Control.Arrow import Data.List import Data.Maybe import Data.Char import qualified Data.ByteString.Char8 as B import Text.Printf import Debug.Trace import qualified Data.Text as T import Data.Time 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 ] <- map ( read . T.unpack ) . T.split ( == '/' ) . T.pack <$> getLine let ( ny, nm, nd ) = toGregorian . addDays 2 $ fromGregorian ( fromIntegral y ) m d printf "%04d/%02d/%02d\n" ny nm nd