FData >>
 F, I : Integer
;

/* * */

F : t_rc ->
Arg Number : Integer

F, I = 1 ..

- A 'F I' Number 

F

/

A F ->
Arg D : ^&FData, Number : Integer

Rc = 0 ..

If D.I <= Number then
 Rc = 1; D.F *= D.I; D.I ++
;

If Rc then
 - F Number
Else
 /