import Data.List (unfoldr) solve :: [Int] -> Int solve [n, m] = head . drop (n - 1) $ unfoldr solveGo (0, 1) where solveGo (f1, f2) = Just (f1, (f2, mod (f1 + f2) m)) solve _ = error "" main :: IO () main = getLine >>= print . solve . map read . words