from common import sieve primes = sieve(10000).primes() def count_primes(a, b): n = 0 while True: p = n**2 + a*n + b if p not in primes: break n += 1 return n max_count = 0 max_pair = (0, 0) for a in xrange(-999, 1000): for b in xrange(-999, 1000): c = count_primes(a, b) if c > max_count: max_count = c max_pair = (a, b) print max_pair[0] * max_pair[1]