import myfunc

sum = 0
for i in range(1,1000000):
  if (myfunc.is_palindrome(str(i))):
    if (myfunc.is_palindrome(bin(i)[2:])):
      sum += i
print sum
from myfunc import is_palindrome

largest = 0
for i in range(100,1000):
  for j in range(100,1000):
    if (is_palindrome(str(i*j))):
      if (i*j > largest):
        largest = i*j
print largest
from myfunc import is_palindrome

count = 0
for i in xrange(10000):
  iterCount = 0
  num = int(str(i)[::-1]) + i #First step must happen outside of loop, so that we can avoid initial palindromes
  while (is_palindrome(str(num)) == False and iterCount < 51):
    num = int(str(num)[::-1]) + num
    iterCount += 1
  if iterCount > 50:
    count += 1
print count