<?php
// 362880 * 7 = 2540160 が最大値
// 7 桁目は2! が最大なので、362880 * 6 + 2 = 2177282 が最大値
$fact = array(0=>1,1=>1,2=>2,3=>6,4=>24,5=>120,6=>720,7=>5040,8=>40320,9=>362880);
$answer = 0;
for($i = 10 ; $i <= 2177282 ; $i++)
{
$tmp = 0;
$len = strlen($i);
for($j = 0 ; $j < $len ; $j++)
{
$tmp += $fact[substr($i,$j,1)];
}
if($i == $tmp)
{
echo $i."\n";
$answer += $i;
}
}
echo $answer;
?>