Задача 15 урок 11

http://fkn.ktu10.com/?q=node/7341

У вас есть число z=5. Пользователь вводит числа в цикле, если хотя бы одно введенное число число было равно 77, то увеличивайте число z на 1 в ответ на каждое введенное число, до тех пор пока пользователь не введет число 55, если такое произойдет то в ответ на это и любое последующее число, уменьшайте z на 1.
Цикл и программа должны завершиться, когда число z станет отрицательным.
(в начале цикла, если первое введенное число не равно ни 55, ни 77, считаем, что мы должны увеличивать z на 1 пока не встретим 55 или 77, которые укажут на конкретные действия).

program task15_lesson11;
var z,input:integer;
  a:boolean;
  begin
    z := 5;
    a := true;
    while z >= 0 do
          begin
            writeln('Polzovatel:');
            readln(input);
            if (input = 77) then
               a := true
            else
                if (input = 55) then
                   a := false;

            if (a) then
                 z := z + 1
            else
                 z := z - 1;
            writeln('Otvet: ',z);
          end;
  end.