Problem 127 - ABC Hits

 - Limit the quadratic search space using some realizations
 - for GCD(a,b) = GCD(a,c) = GCD(b,c) = 1, rad(abc) = rad(a)*rad(b)*rad(c)
 - rad can be pre-computed using a prime sieve
 - max a = c/2, but max rad(a) = c / (rad(c) * 2), so search rad(a)
Problem 127 - ABC-hits (optimized version)

Improves performace from >30 seconds to ~1 second
 - Remove all usages of tuples
 - inline summation with generation
 - remove additional GCD calls
 - use sortperm instead of sort(by) with lambda