program ask(input, output);
const max=100000;
var n, i, j, k, count, c:integer;
a: array [1..max] of integer;
fl, flag: boolean;
begin
readln(n);
for i:=1 to n do read(a[i]);
count:=0;
flag:=false;
j:=0;
k:=0;
while not flag do
begin
while a[n-j]>0 do j:=j+1;
while a[k+1]<0 do k:=k+1;
i:=k+2;
while i<=n-j do
begin
if (a[i-1]>0) and (a[i]<0) then
begin
c:=a[i-1];
a[i-1]:=a[i];
a[i]:=c;
count:=count+1;
end;
i:=i+1;
end;
fl:=true;
i:=k+2;
while fl and (i<=n-j) do
begin
if (a[i-1]>0) and (a[i]<0) then
begin
c:=a[i-1];
a[i-1]:=a[i];
a[i]:=c;
count:=count+1;
fl:=false;
end;
i:=i+1;
end;
if fl=true then flag:=true;
end;
writeln(count);
writeln(a[1]);
writeln(a[n]);
end.
cHJvZ3JhbSBhc2soaW5wdXQsIG91dHB1dCk7Cgpjb25zdCBtYXg9MTAwMDAwOwoKdmFyIG4sIGksIGosIGssIGNvdW50LCBjOmludGVnZXI7CiAgICBhOiBhcnJheSBbMS4ubWF4XSBvZiBpbnRlZ2VyOwogICAgZmwsIGZsYWc6IGJvb2xlYW47CgpiZWdpbgpyZWFkbG4obik7CmZvciBpOj0xIHRvIG4gZG8gcmVhZChhW2ldKTsKCmNvdW50Oj0wOwpmbGFnOj1mYWxzZTsKajo9MDsKazo9MDsKd2hpbGUgbm90IGZsYWcgZG8KYmVnaW4KICAgd2hpbGUgYVtuLWpdPjAgZG8gajo9aisxOwogICB3aGlsZSBhW2srMV08MCBkbyBrOj1rKzE7CiAgIGk6PWsrMjsKICAgd2hpbGUgaTw9bi1qIGRvCiAgIGJlZ2luCiAgICAgIGlmIChhW2ktMV0+MCkgYW5kIChhW2ldPDApIHRoZW4KICAgICAgYmVnaW4KICAgICAgICAgYzo9YVtpLTFdOwogICAgICAgICBhW2ktMV06PWFbaV07CiAgICAgICAgIGFbaV06PWM7CiAgICAgICAgIGNvdW50Oj1jb3VudCsxOwogICAgICBlbmQ7CiAgIGk6PWkrMTsKICAgZW5kOwoKICAgZmw6PXRydWU7CiAgIGk6PWsrMjsKICAgd2hpbGUgZmwgYW5kIChpPD1uLWopIGRvCiAgIGJlZ2luCiAgICAgIGlmIChhW2ktMV0+MCkgYW5kIChhW2ldPDApIHRoZW4KICAgICAgYmVnaW4KICAgICAgICAgYzo9YVtpLTFdOwogICAgICAgICBhW2ktMV06PWFbaV07CiAgICAgICAgIGFbaV06PWM7CiAgICAgICAgIGNvdW50Oj1jb3VudCsxOwogICAgICAgICBmbDo9ZmFsc2U7CiAgICAgIGVuZDsKICAgICAgaTo9aSsxOwogICBlbmQ7CiAgIGlmIGZsPXRydWUgdGhlbiBmbGFnOj10cnVlOwplbmQ7Cgp3cml0ZWxuKGNvdW50KTsKd3JpdGVsbihhWzFdKTsKd3JpdGVsbihhW25dKTsKZW5kLg==