let rec hanoi n from to_ via = if n = 0 then 0 else let a = hanoi (n - 1) from via to_ in let b = 1 in let c = hanoi (n - 1) via to_ from in a + b + c ;; hanoi 10 1 3 2