solve :: [Int] -> Int solve [n, m] = head . drop (n - 1) $ fib where fib = [0, 1] ++ [mod (f1 + f2) m | x <- [0 .. ], let (f1:f2:_) = drop x $ fib] solve _ = error "" main :: IO () main = getLine >>= print . solve . map read . words