@@ -0,0 +1,636 @@
+import utils%0A%0Adef factor_map(max):%0A    m = %7B%7D%0A    %0A    primes = utils.primes(max)%0A    sprimes = set(primes)%0A    for n in xrange(1, max):%0A        if n in sprimes:%0A            m%5Bn%5D = set()%0A            continue%0A%0A        factors = %5B%5D%0A        for p in primes:%0A            if p %3C n and n %25 p == 0:%0A                factors.append(p)%0A        m%5Bn%5D = set(factors)%0A    return m%0A%0A%0Am = factor_map(12001)%0A%0Acount = 0%0Amin = 1.0 / 3.0%0Amax = 1.0 / 2.0%0Afor d in xrange(2, 12001):%0A    for n in xrange(d / 3 + 1, (d - 1) / 2 + 1):%0A        result = 1.0 * n / d%0A        if min %3C result %3C max and m%5Bn%5D.isdisjoint(m%5Bd%5D):%0A               count += 1%0A%0Aprint count%0A%0A

add 73