前スレ938を改良した。
大体938の7割くらいの時間で計算できる。
http://ideone.com/9jNwyP