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