factorials, 3 ways