function NSD (A, B: Longint): Longint;
{Funkce vracφ nejv∞tÜφho spoleΦnΘho d∞litele Φφsel A a B.}
{K v²poΦtu je pou₧it modifikovan² Euklid∙v algoritmus.}
begin
  A:= Abs(A);
  B:= Abs(B);
  while (A<>0) and (B<>0) do
  begin
    if A>B then A:= A mod B
           else B:= B mod A;
  end;
  if A=0 then NSD:= B
         else NSD:= A;
end;