-- Practice yukicoder -- author: Leonardone @ NEETSDKASU main = interact $ head . drop 2 . flip dropWhile (map (tail . concat . map ('/':) . zipWith ($) [drop 1, drop 3, drop 3] . map (show . (+10000))) (filter (not . all id . zipWith ($) [not . (foldl1 (==) . map (== 0) . zipWith ($) [(`mod` 4), (`mod` 100), (`mod` 400)] . repeat), (== 2), (== 29)]) . filter ((>= 0) . foldl1 subtract . zipWith ($) [(!!2), maybe 0 id . flip lookup ([(2, 29)] ++ map (flip (,) 30) [4,6,9,11] ++ map (flip (,) 31) [1,3,5,7,8,10,12]) . (!!1)] . repeat) $ (concat . map (zipWith (flip (++) . return) [1..31] . repeat) . concat $ map (zipWith (flip (++) . return) [1..12] . repeat . return) [2000..2401]))) . (/=) . take 10