При обьявлении массива из чисел не работает конец программы, или я что то не понимаю)

program if4;

uses crt;

label nachalo;
type
  setstring = set of string;

begin
  
  nachalo: clrscr;
  
  writeln('Дано три целых числа.' );
  writeln('Найти количество положительных чисел в исходном наборе.' );
  
  write ( 'Введите числа : ' ); a := ReadArrInteger( 3 );
  
  var kol := 0;
  foreach var x in a do if x > 0 then kol += 1;
  writeln('количество положительных чисел в исходном наборе = ', kol );
  
  var prod1: string;
  var prod2: setstring:= ['да','Да','ДА','yes','yeS','yES','YES','YEs','Yes','yEs','YeS','дА'];
  write('Продолжить программу ( да/yes ): ' );  readln ( prod1 );
  if prod2.contains (prod1) = true then goto nachalo; // вот эта часть перестатет работать
  
end.

Посмотрите эту тему Ошибки, происходящие от незнания различия между Read и Readln если непонятно, то ваш readln(prod1) съедает символы #13#10 - возврата каретки и новой строки.

Спасибо Вам.