`fac'
-----

fac(I)
     :: I $B$N3,>h(B.

RETURN
     $B@0?t(B

I
     $B@0?t(B

   * I $B$N3,>h$r7W;;$9$k(B.

   * I $B$,Ii$N>l9g$O(B 0 $B$rJV$9(B.

     [0] fac(50);
     30414093201713378043612608166064768844377641568960512000000000000

