Поскольку в Windows-приложениях нет понятия "чистый экран", ввод/вывод был направлен в DOS-окно.
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!
uses Crt;
begin
var x:=ArrRandom(ReadInteger('m='),-50,50);
ClrScr; x.Println;
var y:=x.Select(t->t<0?-t:t).ToArray; y.Println;<br> Writeln(y.Where(t->t<>0).Aggregate(BigInteger(1),(p,q)->p*q))
end.