factorial with dotimes