const func array integer: factorise (in var integer: number) is func result var array integer: result is 0 times 0; local var integer: checker is 2; begin while checker * checker <= number do if number rem checker = 0 then result &:= [](checker); number := number div checker; else incr(checker); end if; end while; if number <> 1 then result &:= [](number); end if; end func;