var n, f; begin ? n; f := 1; while n <> 0 do begin f := f * n; n := n - 1 end; ! f end.