#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
string qjc(int n)
{
int x=0;
int l=1;
string a;
a[1]='1';
for(int i=1;i<=n;i++)
{
x=0;
for(int j=1;j<=l;j++)
{
a[j]=(a[j]-'0')*i+x+'0';
x=(a[j]-'0')/10;
a[j]=(a[j]-'0')%10+'0';
if(x>0&&j>=l)l++;
}
}
return a;
}
string jia(string a,string b)
{
int a1[10000000],b1[100000000];string c,c1;
int la=sizeof(b);
int lb=sizeof(a);
for(int i=0;i<la;i++)
{
a1[la-i]=a[i]-'0';
}
for(int i=0;i<lb;i++)
{
b1[lb-i]=b[i]-'0';
}
int lc=max(la,lb)+1;
for(int i=1;i<=lc;i++)
{
c[i]+=a1[i]+b1[i]+'0';
c[i+1]=(c[i]-'0')/10+'0';
c[i]=(c[i]-'0')%10+'0';
}
while(c[lc]=='0'&&lc>1)lc--;
for(int i=0;i<lc;i++)
{
c1[lc-i]=c[i];
}
return c1;
}
string c1="0";
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
c1=jia(c1,qjc(i));
}
cout<<c1;
return 0;
}
题目