整数論的考察によってかなり簡単に解くことができます. 補題を知っていれば600点ぐらいの難易度に感じたかも知れません.
まずは本解通りS=∑ai=N∑(∏ai!N!×∏aii)を得る. ここで次の補題を使う:
補題.
pを素数とし, N=i=1∑mai とする. ここで N,ai は非負整数, m は正整数である. さらに ai=j∑bi,jpj, N=j∑njpj と p 進展開する. このとき
∏ai!N!≡⎩⎪⎪⎨⎪⎪⎧0j∏∏ibi,j!nj!(if ∃j,s.t.∑ibi,j=nj)(otherwise)(modp)
(前者の時は のp進での足し算に繰り上がりがあるとき, 後者は繰り上がりがないときである)
証明.
si=k=1∑iak とすると, P=∏ai!N!=i∏siCai となる. ここでKummerの定理を用いながら P≡0(modp) か否かで場合分けをし, Lucasの定理を用いることで補題を得る.
N=4p+7 が p 進数での表記なので ai=pbi+ci と p 進数で表記すると
S≡∑bi=4∑∑cj=7∑∏bi!4!⋅∏cj!7!⋅∏cjj≡64⋅27!⋅i=1∑62i≡64⋅7!⋅(26−1)≡411505920(modp)
となる. ここで j=1∑6cj=7 ならば (cj) は (2,1,1,1,1,1) の並べ替えしかあり得ないことを使った.
補題について一言. 良く用いられるLucasの定理などは n 個の中から m 個選ぶ方法の個数を p で割った余りなどを考えますが, これを拡張するなら n 個の中から m1 個選び, その後 m2 個選び... (別のタイミングで選んだものは区別する) という方法の個数を p で割った余りを考えたくなると思います. 従ってこの拡張は自然なものと考えることが出来るでしょう.