import math upper = 9+1 digits = [] # borders searched manually... digits += xrange(1, upper) digits += [x*x for x in xrange(4, upper)] digits += [math.pow(x,3) for x in xrange(5, upper)] digits += [math.pow(x,4) for x in xrange(6, upper)] digits += [math.pow(x,5) for x in xrange(7, upper)] digits += [math.pow(x,6) for x in xrange(7, upper)] digits += [math.pow(x,7) for x in xrange(8, upper)] digits += [math.pow(x,8) for x in xrange(8, upper)] digits += [math.pow(x,9) for x in xrange(8, upper)] digits += [math.pow(x,10) for x in xrange(8, upper)] for i in xrange(11, 21+1): digits += [math.pow(x,i) for x in xrange(9, upper)] print len(digits)