copy code
Program jiecheng;
var n,k,i,j,v,temp:integer;
a,b:array[1..100] of integer;
begin
assign(output,'jiecheng.out');
rewrite(output);
read(n);
for i:=1 to n do begin
a[1]:=1;
for j:=1 to i do begin
for v:=1 to 100 do a[v]:=a[v]*j;
temp:=a[1] div 10;
a[1]:=a[1] mod 10;
k:=1;
while k<100 do begin
inc(k);
a[k]:=a[k]+temp;
temp:=a[k] div 10;
a[k]:=a[k] mod 10;
end;
end;
for j:=1 to 100 do
b[j]:=b[j]+a[j];
k:=1;
temp:=b[1] div 10;
b[1]:=b[1] mod 10;
while k<100 do begin
inc(k);
b[k]:=b[k]+temp;
temp:=b[k] div 10;
b[k]:=b[k] mod 10;
end;
for j:=1 to 100 do a[j]:=0;
end;
k:=100;
while b[k]=0 do dec(k);
for i:=k downto 1 do write(b);
writeln;
close(output);
end.