module Main where import Control.Monad import qualified Data.IntMap.Lazy as M fibo :: Int -> Int fibo n = f n where memo = M.fromList $ fmap (\i -> (i, f i)) [1 .. n] f 1 = 0 f 2 = 1 f x = memo M.! (x - 2) + memo M.! (x - 1) main :: IO () main = do [n, m] <- fmap read . words <$> getLine :: IO [Int] print $ fibo n `mod` m