Pagini recente » Cod sursa (job #3222664) | Cod sursa (job #77792) | Cod sursa (job #2829963) | preONI 2007, Runda Finala, Clasa a 9-a si gimnaziu | Cod sursa (job #25056)
Cod sursa(job #25056)
const p=666013;
var f:text;
a1,a2,n,k,r,r2,i,sol:longint;
function go(a,b:longint):longint;
var h:longint;
begin
if b=1 then go:=a
else if a mod 2=0 then
begin
h:=go(a,b div 2);
go:=(h*h) mod p;
end
else begin
h:=go(a,b div 2);
go:=(h*h*a) mod p;
end;
end;
begin
assign(f,'kperm.in');
reset(f);
readln(f,n,k);
close(f);
if n=k then
begin
sol:=1;
for i:=2 to n do
sol:=(sol*i) mod p;
end
else begin
r:=n mod k;
r2:=k-r;
sol:=(r*r2) mod p;
a1:=1;
for i:=2 to n div k do
a1:=(a1*i) mod p;
a1:=go(a1,r2);
a2:=go(a1*(i+1),r);
a1:=(a1*a2) mod p;
sol:=(sol*a1) mod p;
end;
assign(f,'kperm.out');
rewrite(f);
writeln(f,sol);
close(f);
end.