import mathdef is_prime(n): primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113] for i in primes: if n % i == 0 and n > 113: return False for i in xrange(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return Truedef _divide(n): i = 2 while i <= n: if n % i == 0: return (i, n / i) i += 1def prime_factors(n): if is_prime(n): return [n] else: (m, n) = _divide(n) return prime_factors(m) + prime_factors(n)print max(prime_factors(317584931803))