A Munchausen number is a natural number n the sum of whose digits (in base 10), each raised to the power of itself, equals n.

(Munchausen is also spelled: Münchhausen.)

For instance:    3435 = 33 + 44 + 33 + 55 



Task
Find all Munchausen numbers between   1   and   5000.



Also see

 The OEIS entry:  A046253
 The Wikipedia entry:  Perfect digit-to-digit invariant, redirected from Munchausen Number


 
{def munch
 {lambda {:w}
  {= :w {+ {S.map {{lambda {:w :i}
                           {pow {W.get :i :w} {W.get :i :w}}} :w}
                  {S.serie 0 {- {W.length :w} 1}}}}} }}
-> munch
 
{S.map {lambda {:i} {if {munch :i} then :i else}}
       {S.serie 1 5000}} 
-> 
1
3435
 