Выясните, сколько раз в предложенном тексте встречается каждое двухбуквенное слово — Pascal(Паскаль)

Program PascalGuru;

var
  s, x: string;
  i, j, p, n, kol: integer;
  A, Abp: array [1 .. 50] of string;
  b: boolean;

begin
  write('Vvedite stroky slov (text) otdelennymi probelami: ');
  readln(s);

  { --------- начало записи двухбуквенных слов в массив---- }
  j := 0;
  i := 0;
  repeat
    inc(j);
    p := pos(' ', s);
    x := copy(s, 1, p - 1);
    if p = 0 then
      x := s;
    if length(x) = 2 then
    begin
      inc(i);
      A[i] := x;
    end;
    delete(s, 1, p);
  until p = 0;
  n := i;
  { -------------конец----------------------- }

  { -----------начало записи слов по одному---- }
  p := 0;
  for i := 1 to n do
  begin
    b := true;
    for j := 1 to i - 1 do
      if A[j] = A[i] then
        b := false;
    if b then
    begin
      inc(p);
      Abp[p] := A[i];
    end;
  end;
  { ------------конец------------------------- }

  for i := 1 to p do
  begin
    kol := 0;
    for j := 1 to n do
      if Abp[i] = A[j] then
        inc(kol);

    writeln(Abp[i], ' (', kol, ')'); { вывод ответа }
  end;

  readln;

end.