fact = (map snd (iterate (succ . fst &&& uncurry (*)) (1, 1)) !!)