begin
  routine do hanoi(integer n, f, t, u)
    do hanoi(n - 1, f, u, t) if n >= 2
    print string("Move disk from ".itos(f,0)." to ".itos(t,0).to string(nl))
    do hanoi(n - 1, u, t, f) if n >= 2
  end
  do hanoi(4, 1, 2, 3)
  print string("Towers of Hanoi puzzle completed!".to string(nl))
end of program