program gambling;
type pole=array[1..200002] of integer;
var pol:pole;
	x,y,sum1,sum,f,ff,k,j,i:integer;
input,num : string[255];
inj : char;
begin
readln(input);
val(input,k,i);
repeat
for j:=1 to k do
 begin  
  num:="";
  repeat
  read(inj);
  if ((ord(inj) > 47) AND (ord(inj) <= 57))  then num:=num+inj;
  until ((ord(inj) < 48) OR (ord(inj) > 57));
  val(num,pol[j],i);
 end;
  sum1:=0;
  for ff:=1 to (((k-1) div 2) -1) do
   begin    
    sum1:=sum1+pol[ff];
   end;
  sum:=sum1;

for ff:=1 to k do
  begin
    i:=((k-1) div 2) -1+ff;
    if (i mod k = 0) then i:=k else i:=i mod k;
    sum1:=sum1-pol[ff]+pol[i];

   if (sum > sum1) then 
    begin
     sum:=sum1;
     x:=ff-1;
     y:=i+1;
    end;
  end;


sum1:=sum;
for f:=1 to k do
 begin
  sum1:=sum1+pol[f];
 end;

writeln(sum1);
readln(input);
readln(input);
val(input,k,i);
until (k=0)
end.
