# link: https://projecteuler.net/problem=30


# Surprisingly there are only three numbers that can be written as the sum of
# fourth powers of their digits:
#
# 1634 = 14 + 64 + 34 + 44
# 8208 = 84 + 24 + 04 + 84
# 9474 = 94 + 44 + 74 + 44
# As 1 = 14 is not a sum it is not included.
#
# The sum of these numbers is 1634 + 8208 + 9474 = 19316.
#
# Find the sum of all the numbers that can be written as the sum of fifth powers
# of their digits.

additions = {}
for x in range(0, 10):
    additions[str(x)] = x**5
print(additions)

total = 0
for x in range(2, 355000):
    if x == sum(map(lambda x: additions[x], list(str(x)))):
        total += x

print(total)
