def pr060(): isValid = lambda a, b: isPrimeMR(int(str(a)+str(b))) and isPrimeMR(int(str(b)+str(a))) p = getPrimes(10000) pN = len(p) for a in range(pN): for b in range(a + 1, pN): if isValid(p[a], p[b]): for c in range(b + 1, pN): if isValid(p[c], p[a]) and isValid(p[c], p[b]): for d in range(c + 1, pN): if isValid(p[d], p[a]) and isValid(p[d], p[b])\ and isValid(p[d], p[c]): for e in range(d + 1, pN): if isValid(p[e], p[d]) and isValid(p[e], p[c]) and\ isValid(p[e], p[b]) and isValid(p[e], p[a]): print(p[a], p[b], p[c], p[d], p[e]) return p[a] + p[b] + p[c] + p[d] + p[e]
def phi(n): if isPrimeMR(n): return n - 1 ret = n for x in primes: if x << 1 > n: break if n % x == 0: ret = ret // x * (x - 1) return ret
def rad(n): if isPrimeMR(n): return n ret = 1 for x in primes: if x * 2 > n: break if n % x == 0: ret *= x return ret
def getPseudo(n): t = n + 3 while not isPrimeMR(t): t += 2 return t - n