F = [1] * 10 # print(F) for i in range(1, len(F)): F[i] = F[i - 1] * i # print(F) Z = [] for n in range(1, 10 ** 7): flag = False m = n s = 0 while m: s += F[m % 10] m //= 10 if s == n: Z.append(str(n)) Z.sort() for e in Z: print(e, end=" ")