to factorialI :n
local "x
make "x 1
repeat :n [make "x :x * repcount]
op :x
end
to factorialR :n
ifelse :n = 1 [op 1] [op :n * factorialR :n - 1]
end
to polygonI :sides :length
repeat :sides [fd :length rt 360/:sides]
end
to polygonR :sides :length :count
ifelse :count = 0 [stop] [fd :length rt 360/:sides polygonR :sides :length :count - 1]
end