new_contents: def find_primes(n):
      """ Returns  a list of primes < n """
      sieve = [True] * (n/2)
      for i in xrange(3,int(n**0.5)+1,2):
          if sieve[i/2]:
              sieve[i*i/2::i] = [False] * ((n-i*i-1)/(2*i)+1)
      return [2] + [2*i+1 for i in xrange(1,n/2) if sieve[i]]
  
  primes = find_primes(1000)
  
  print([p for p in reversed(primes) if str(p)[::-1] == str(p) ][0])
  
subject: Add solution to problem #3