import Text.Printf import qualified Data.Text as T md = [31,28,31,30,31,30,31,31,30,31,30,31] uruu :: Int -> Bool uruu n = mod n 400 == 0 || (mod n 100 /= 0 && mod n 4 == 0) f (y:m:d:[]) = printf "%d/%02d/%02d\n" y' m' d' where u = m == 2 && uruu y md' | u = 29 | otherwise = md !! (m - 1) (d', um) | d + 2 > md' = (d + 2 - md', 1) | otherwise = (d + 2, 0) (m', uy) | m + um > 12 = (1, 1) | otherwise = (m + um, 0) y' = y + uy main = getLine >>= f . map (read . T.unpack) . T.splitOn (T.pack "/") . T.pack