program factorial(output);
  function factorial(n: integer): integer;
    var tmp: integer;
  begin
    write('Called with ');
    writeln(n);
    if (n = 0) then
      factorial := 1
    else
      begin
        tmp := factorial(n-1);
        factorial := n * tmp;
      end
  end;
begin
  writeln(factorial(5))
end.
