Вопрос по задаче №11 из главы 11 --

Задача №11

Пользователь вводит целые числа в цикле (разные: четные, нечетные, положительные, отрицательные в любом порядке и количестве). Сохраните в переменные первые три отрицательных нечетных числа, сложите их, выведите сумму на экран и завершите цикл.

Вопрос, можно ли считать правильным решение ниже?

var a, b, c, n, i: integer;
begin

  i := 0;
  a := 0;
  b := 0;
  c := 0;
  while(true) do
  begin
    write('Please enter the number: ');
    readln(n);

    if ((n < 0) and (n mod -2 = -1)) then
    begin
      if (a = 0) then
        a := n
      else if (b = 0) then
        b := n
      else if (c = 0) then
        c := n;
      i += 1;
    end;
    if (i = 3) then
      break;
  end;

  writeln('a = ', a,', b = ', b, ', c = ' ,c);
  writeln('sum = ', a + b + c);
  readln();
end.