

Definition

A factorion is a natural number that equals the sum of the factorials of its digits.



Example
 
145   is a factorion in base 10 because:


          1! + 4! + 5!   =   1 + 24 + 120   =   145 





It can be shown (see talk page) that no factorion in base 10 can exceed   1,499,999.



Task

Write a program in your language to demonstrate, by calculating and printing out the factorions, that:

   There are   3   factorions in base   9
   There are   4   factorions in base 10
   There are   5   factorions in base 11 
   There are   2   factorions in base 12     (up to the same upper bound as for base 10)


See also

 Wikipedia article
 OEIS:A014080 - Factorions in base 10
 OEIS:A193163 - Factorions in base n


fact:=[]
fact[0] := 1
while (A_Index < 12)
	fact[A_Index] := fact[A_Index-1] * A_Index
b := 9
while (b <= 12) {
	res .= "base " b " factorions:  `t"
	while (A_Index < 1500000){
		sum := 0
		j := A_Index
		while (j > 0){
			d := Mod(j, b)
			sum += fact[d]
			j /= b
		}
		if (sum = A_Index) 
			res .= A_Index "  "
	}
	b++
	res .= "`n"
}
MsgBox % res
return