вопрос к задаче 10 урок 11

http://fkn.ktu10.com/?q=node/7341
не работает код, не могу разобраться в проблеме.

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

program project1110;
var a, b, c, i: integer;
begin
  i := 0;
  b := 0;
  c := 0;
  while i < 3 do
  begin
    writeln('Vvedite celoe chislo');
    readln(a);
    if ((a mod 2)= 0) and (a<0) and (b=0) then
      begin
         b:=a;
         i:=i+1;
      end
    else
      if ((a mod 2)= 0) and (a<0) and (c=0) then
    begin
       c:=a;
       i:=i+1;
    end
    else
      if (a<0) and ((a mod 2)= 0) then
    begin
      writeln(a+b+c);
      i:=i+1;
    end;
  end;
end.