let fib (n, m) = if n < 2 then 0 else let rec doit i x y = if i = n then x else doit (i + 1) y ((x + y) mod m) in doit 2 1 1 let () = Scanf.scanf "%d %d " (fun n m -> n, m) |> fib |> Printf.printf "%d\n"