Var
i, j, n, kolPol, kolOtr, sum, p, ch, k :integer;
a :array of integer;
begin
readln(n);
SetLength(a,n+1);
randomize;
for i:= 1 to n do
a[i]:= random(100)-50;
sum:= 0; p:= 1;
for i:= 1 to n do
begin
if a[i] > 0 then
begin
inc(kolPol);
sum:= sum + a[i];
end;
if a[i] > 0 then
begin
inc(kolOtr);
p:= p * a[i];
end;
end;
writeln('Количество положительных элементов: ',kolPol);
writeln('Сумма положительных элементов: ',sum);
writeln('Количество отрицательных элементов: ',kolOtr);
writeln('Произведение отрицательных элементов: ',p);
i:= 1; p:= 1; ch:= 0;
while (a[i] >= 0) and (i <> n+1) do
begin
p:= p * a[i];
inc(ch);
inc(i);
end;
if ch <> 0 then
writeln('Произведение до первого отрицательного элемента: ',p)
else
writeln('Первый элемент массива отрицательный!');
for i:= 1 to n-1 do
for j:= 1 to n-i do
if a[j] > a[j+1] then
begin
k:= a[j];
a[j]:= a[j+1];
a[j+1]:= k;
end;
writeln('Массив отсортирован по возрастанию:');
for i:= 1 to n do
write(a[i],' ');
end.