import Control.Applicative ((<$>)) import Data.List (foldl') main :: IO () main = solve <$> read <$> getLine >>= print solve :: Int -> Int solve m = (r + r' * r') `mod` m where r = 2017 `mod` m r' = foldl' f 1 $ replicate 2017 r f a b = a * b `mod` m