Cod sursa(job #132155)

Utilizator vladianavladiana micu vladiana Data 5 februarie 2008 11:20:35
Problema Lista lui Andrei Scor 15
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.8 kb
var fi,fo:text;
    n,m,i,j,ct,rez,poz1,poz2,ct2:longint;
    lit1,lit2:char;
    s:string[100];
    a:array[1..26,1..26]of byte;
begin
  assign(fi,'nrcuv.in'); reset(fi);
  assign(fo,'nrcuv.out'); rewrite(fo);
  readln(fi,n,m);
  ct:=0;
  for i:=1 to m do
    begin
      readln(fi,s);
      lit1:=s[1]; lit2:=s[3];
      poz1:=ord(lit1)-96; poz2:=ord(lit2)-96;
      if a[poz1,poz2]=0 then
        begin
          if lit1<>lit2 then inc(ct,2)
                        else inc(ct);
          a[poz1,poz2]:=1;
          a[poz2,poz1]:=1;
        end;
    end;
  rez:=1;
  for i:=1 to n do
    rez:=26*rez mod 104659;
  ct2:=1;
  for i:=1 to n-2 do
    ct2:=ct2*26 mod 104659;
  ct2:=ct2*(n-1) mod 104659;
  ct:=ct*ct2;
  rez:=rez-ct;
  writeln(fo,rez);
  close(fi);
  close(fo);
end.