// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк (столбцов) в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(n,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var s:=a.ElementsByRow;
Writeln('Сумма элементов массива ',s.Sum);
Writeln('Произведение отрицательных элементов ',
s.Where(t->t<0).Aggregate(BigInteger(1),(p,q)->p*q));
Writeln('Количество положительных элементов ',
s.Where(t->t>0).Count)
end.