program ask(input,output);

const max=1000000;

var wid,n,i,mid,first,last,sn:integer;
    a:array[1..max] of integer;

begin
readln(n);
for i:=1 to n do read(a[i]);

if a[1]*a[n]>0 then
begin
if a[1]>0 then wid:=a[1]+a[2]
          else wid:=a[n]+a[n-1]
end
else
begin
   i:=0;
   wid:=(a[1]+a[n]);
   while i<n do
   begin
      i:=i+1;
      sn:=-a[i];
      first:=1;
      last:=n;
      if sn>a[last] then first:=last-1;
      if sn<a[first] then last:=first+1;
      while first<>last-1 do
      begin
         mid:=(first+last)div 2;
         if a[mid]<sn then begin first:=mid; if a[mid+1]>sn then last:=mid+1; end
                      else begin last:=mid; if a[mid-1]<sn then first:=mid-1; end;
      end;
      if (abs(a[first]+a[i])<abs(wid))and(a[first]<>a[i]) then wid:=a[first]+a[i];
      if (abs(a[last]+a[i])<abs(wid))and(a[last]<>a[i]) then wid:=a[last]+a[i];
   end;
   i:=i+1;
end;
writeln(wid);
end.