//PascalABC.NET версия 3.2, сборка 1389
//Если программа не запускается, то обновите версию
begin
var a := ArrRandomInteger(30, -100, 100);
Println(a);
Writeln('Произведение положительных ', a.Where(x -> x > 0).Aggregate(1, (x, y)-> x * y));
Writeln('Произведение отрицательных ', a.Where(x -> x < 0).Aggregate(1, (x, y)-> x * y));
end.