project euler problem 52 combination math @memoize import