def digit_sum(n): s = 0 while n > 0: s += n % 10 n /= 10 return s max_sum = 0 for i in range(2, 100): for j in range(2, 100): s = digit_sum(i**j) if s > max_sum: max_sum = s print max_sum