#brute solution
squares = []
for i in range(2, 101):
    for j in range(2,101):
        squares.append(i**j)
print len(list(set(squares)))
print squares[:10]
def sum5digits(n):
    return sum([int(dig)**5 for dig in str(n)])
def sum4digits(n):
    return sum([int(dig)**4 for dig in str(n)])
cands1 = []
for i in range(1000,9999):
    if sum4digits(i) == i:
        cands1.append(i)
print cands1
def solve30():
    cands = []
    for i in range(2,355000):
        if sum5digits(i) == i:
            cands.append(i)
    return sum(cands)
print solve30()