Cod sursa(job #70669)

Utilizator FreeYourMindAndrei FreeYourMind Data 6 iulie 2007 18:32:05
Problema Kperm Scor 40
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.91 kb
//what's the connection between Neo and the Source?
//When will an elementary proof of Fermat's Last Theorem be found [if it exists...] ?

program kperm;

const fin = 'kperm.in';
     fout = 'kperm.out';

var n,k: word;
      w: longint;

procedure load;
 var f: text;
begin
 assign(f, fin); reset(f);
  readln(f, n, k);
  w:=1;
 close(f);
end;

procedure getw;
 var i, ww: longint;
begin
 if k mod 2 = 0 then begin w:=0; exit; end;

 ww:=1;
 for i:=1 to n div k do
     ww:=(ww*i) mod 666013;

 w:=1;
 for i:=1 to (n mod k) do
     w:=w*i mod 666013;
 for i:=1 to k-(n mod k) do
     w:=w*i mod 666013;

 for i:=(n mod k)+1 to k do
     w:=w*ww mod 666013;

 ww:=ww*((n div k) + 1) mod 666013;
 for i:=1 to n mod k do
     w:=w*ww mod 666013;

end;

procedure save;
 var f: text;
begin
 assign(f, fout); rewrite(f);
 write(f, w);
 close(f);
end;

begin
 load;
  getw;
 save;
end.