Pagini recente » Cod sursa (job #2862855) | Cod sursa (job #1358922) | Cod sursa (job #32613) | Cod sursa (job #2574827) | Cod sursa (job #25428)
Cod sursa(job #25428)
var
v:array[1..5000] of INT64;p,n,k,r:int64;I:LONGINT;
per:array[1..10000] of longint;
function perm(n:INT64):INT64;
var p:INT64;I:LONGINT;
begin
if per[n]=0 then
begin
p:=1;
for i:=1 to n do
p:=(p*i) mod 666013;
perm:=p;
per[n]:=p;
end
else
perm:=per[n];
end;
begin
fillchar(per,sizeof(per),0);
ASSIGN(inPUT,'kperm.in');
reset(input);
readln(n,k);
close(input);
ASSIGN(OUTPUT,'kperm.out');
rewrite(output);
begin
if ((k*(k+1)) div 2) mod k<>0 then
writeln(0)
else
begin
r:=n mod k;
for i:=1 to r do
v[i]:=(n div k)+1;
for i:=r+1 to k do
v[i]:=n div k;
p:=1;
for i:=1 to k do
p:=(p*perm(v[i])) mod 666013;
p:=(p*perm(r))mod 666013;
p:=(p*perm(k-r))mod 666013;
writeln(p);
end;
end;
close(output);
end.