Thanks and wow not what I expected.

I had cached the factorials as I calculated them (as the min/max could re-use them for different numbers) but that wasn’t the problem. (Thought for sure that was the long operation and I don’t think that simplifies at all).

Had to take the Log of both sides and then use N*math.log(a) instead of a**N in my comparison. This completed within the time limit where as a**N would not.

I don’t remember my calculus that well, but I guess the libraries use a Taylor Series to calculate the Log function. Where as the ** operation is performed recursively when an integer is used? Seems odd as I’d expect that operation to convert/simply with natural log functions which could use Taylor Series.

Doesn’t make sense, so maybe I don’t quiet understand it, but problem solved & solution passed!

Thanks Kirbiby & selenae