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);
read(a[1]);
count:=0;
i:=2;
while i<=n do
begin
read(a[i]);
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;
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.
cHJvZ3JhbSBhc2soaW5wdXQsIG91dHB1dCk7Cgpjb25zdCBtYXg9MTAwMDAwOwoKdmFyIG4sIGksIGosIGssIGNvdW50LCBjOmludGVnZXI7CiAgICBhOiBhcnJheSBbMS4ubWF4XSBvZiBpbnRlZ2VyOwogICAgZmwsIGZsYWc6IGJvb2xlYW47CgpiZWdpbgpyZWFkbG4obik7CnJlYWQoYVsxXSk7CmNvdW50Oj0wOwppOj0yOwp3aGlsZSBpPD1uIGRvCmJlZ2luCiAgIHJlYWQoYVtpXSk7CiAgIGlmIChhW2ktMV0+MCkgYW5kIChhW2ldPDApIHRoZW4KICAgICAgYmVnaW4KICAgICAgICAgYzo9YVtpLTFdOwogICAgICAgICBhW2ktMV06PWFbaV07CiAgICAgICAgIGFbaV06PWM7CiAgICAgICAgIGNvdW50Oj1jb3VudCsxOwogICAgICBlbmQ7CiAgIGk6PWkrMTsKZW5kOwoKZmxhZzo9ZmFsc2U7Cmo6PTA7Cms6PTA7CndoaWxlIG5vdCBmbGFnIGRvCmJlZ2luCiAgIHdoaWxlIGFbbi1qXT4wIGRvIGo6PWorMTsKICAgd2hpbGUgYVtrKzFdPDAgZG8gazo9aysxOwogICBpOj1rKzI7CiAgIHdoaWxlIGk8PW4taiBkbwogICBiZWdpbgogICAgICBpZiAoYVtpLTFdPjApIGFuZCAoYVtpXTwwKSB0aGVuCiAgICAgIGJlZ2luCiAgICAgICAgIGM6PWFbaS0xXTsKICAgICAgICAgYVtpLTFdOj1hW2ldOwogICAgICAgICBhW2ldOj1jOwogICAgICAgICBjb3VudDo9Y291bnQrMTsKICAgICAgZW5kOwogICBpOj1pKzE7CiAgIGVuZDsKCiAgIGZsOj10cnVlOwogICBpOj1rKzI7CiAgIHdoaWxlIGZsIGFuZCAoaTw9bi1qKSBkbwogICBiZWdpbgogICAgICBpZiAoYVtpLTFdPjApIGFuZCAoYVtpXTwwKSB0aGVuCiAgICAgIGJlZ2luCiAgICAgICAgIGM6PWFbaS0xXTsKICAgICAgICAgYVtpLTFdOj1hW2ldOwogICAgICAgICBhW2ldOj1jOwogICAgICAgICBjb3VudDo9Y291bnQrMTsKICAgICAgICAgZmw6PWZhbHNlOwogICAgICBlbmQ7CiAgICAgIGk6PWkrMTsKICAgZW5kOwogICBpZiBmbD10cnVlIHRoZW4gZmxhZzo9dHJ1ZTsKZW5kOwoKd3JpdGVsbihjb3VudCk7CndyaXRlbG4oYVsxXSk7CndyaXRlbG4oYVtuXSk7CmVuZC4=