lf: procedure (n) returns (fixed decimal (31) ); declare n fixed binary; declare (s, f) fixed (31); declare (i, j) fixed; s = 0; do i = n-1 to 0 by -1; f = 1; do j = i to 1 by -1; f = f * j; end; s = s + f; end; return (s); end lf; declare n fixed binary; do n = 0 to 10, 20 to 30; put skip list ('Left factorial of ' || n || '=' || lf(n) ); end; end left_factorials;