long a=10000,b,c=2800,d,e,f[2801],g;
main()
{
for(;b-c;)
f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a;f[b]=d%--g,d/=g--,--b;d*=b);
scanf("%s");
}
http://zhidao.baidu.com/link?url=OzF5i8JDy88FnDOvCVCzm8O0AlbGZBviJ5vqpXEAVqfPmEc3n0fI_TdJe0l-Xb8HpLfMuoO1Nta3xWJ482gMia