import java.util.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
class main
{
{
int T
= Integer.
parseInt(br.
readLine()); int N,start,end,i,left_sum,right_sum,left_neg1,left_neg2,right_neg1,right_neg2,ans,sum,top,bottom;
int A[] = new int[200005];
while(T--!=0)
{
left_neg2 = left_neg1 = right_neg2 = right_neg1 = sum = left_sum = right_sum = 0;
N
= Integer.
parseInt(br.
readLine()); s = br.readLine().split(" ");
for (i=1;i<=N;++i)
s = br.readLine().split(" ");
//Summing the left and right parts
for( i=start; true; ++i)
{
if(i>N)
i%=N;
if(i==end)
break;
left_sum += A[i];
}
for( i=(start-1); true; --i)
{
if(i==0)
i=N;
right_sum += A[i];
if(i==end)
break;
}
//System.out.println("left_sum: " + left_sum);
//System.out.println("right_sum: " + right_sum);
top = bottom = sum = 0;
// Taking manimum negative values for left part
for( i=start; true; ++i)
{
if(i>N)
i%=N;
if(i==end)
break;
sum += A[i];
if(left_neg1>sum)
{
top = i;
left_neg1 = sum;
}
}
sum = 0;
for( i=(end-1); true; --i)
{
if(i==0)
i=N;
sum += A[i];
if(left_neg2>sum)
{
bottom = i;
left_neg2 = sum;
}
if(i==start )
break;
}
//System.out.println("top: " + top);
//System.out.println("bottom: " + bottom);
if(left_neg1 < left_neg2)
{
left_neg2 = sum = 0;
for( i=(end-1); true; --i)
{
if(i==0)
i=N;
sum += A[i];
if(left_neg2>sum)
left_neg2 = sum;
if(i==start || i==((top+1)==N+1 ? 1 : (top + 1)) )
break;
}
}
else
{
left_neg1 = sum = 0;
for( i=start; true; ++i)
{
if(i>N)
i%=N;
if(i==end || i==bottom)
break;
sum += A[i];
if(left_neg1>sum)
left_neg1 = sum;
}
}
//System.out.println("left_neg1: " + left_neg1);
//System.out.println("left_neg2: " + left_neg2);
ans = right_sum + left_neg1*2 + left_neg2*2;
//Taking minimum negative values for right part
top = bottom = sum = 0;
for( i=(start-1); true; --i)
{
if(i==0)
i=N;
sum += A[i];
if(right_neg1>sum)
{
top = i;
right_neg1 = sum;
}
if(i==end)
break;
}
sum = 0;
for( i=end; true; ++i)
{
if(i>N)
i%=N;
if(i==start)
break;
sum += A[i];
if(right_neg2>sum)
{
bottom = i;
right_neg2 = sum;
}
}
if(right_neg2 < right_neg1)
{
right_neg1 = sum = 0;
for( i=(start-1); true; --i)
{
if(i==0)
i=N;
sum += A[i];
if(right_neg1>sum)
right_neg1 = sum;
if(i==end || i==((bottom + 1)==N+1 ? N : (bottom + 1)) )
break;
}
}
else
{
sum = right_neg2 = 0;
for( i=end; true; ++i)
{
if(i>N)
i%=N;
if(i==start || i==(top))
break;
sum += A[i];
if(right_neg2>sum)
right_neg2 = sum;
}
}
//System.out.println("right_neg1: " + right_neg1);
//System.out.println("right_neg2: " + right_neg2);
ans
= Math.
min(ans,left_sum
+ right_neg1
*2 + right_neg2
*2); }
}
}
CmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwppbXBvcnQgamF2YS5pby5JbnB1dFN0cmVhbVJlYWRlcjsKaW1wb3J0IGphdmEudXRpbC5TdHJpbmdUb2tlbml6ZXI7CgpjbGFzcyBtYWluCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZyBhcmdzW10pIHRocm93cyBFeGNlcHRpb24KCXsKCQlCdWZmZXJlZFJlYWRlciBiciA9IG5ldyBCdWZmZXJlZFJlYWRlcihuZXcgSW5wdXRTdHJlYW1SZWFkZXIoU3lzdGVtLmluKSk7CgkJaW50IFQgPSBJbnRlZ2VyLnBhcnNlSW50KGJyLnJlYWRMaW5lKCkpOwoJCWludCBOLHN0YXJ0LGVuZCxpLGxlZnRfc3VtLHJpZ2h0X3N1bSxsZWZ0X25lZzEsbGVmdF9uZWcyLHJpZ2h0X25lZzEscmlnaHRfbmVnMixhbnMsc3VtLHRvcCxib3R0b207CgkJU3RyaW5nIHNbXTsKCQlpbnQgQVtdID0gbmV3IGludFsyMDAwMDVdOwoJCXdoaWxlKFQtLSE9MCkKCQl7CiAgICAgICAgICAgIGxlZnRfbmVnMiA9IGxlZnRfbmVnMSA9IHJpZ2h0X25lZzIgPSByaWdodF9uZWcxID0gc3VtID0gbGVmdF9zdW0gPSByaWdodF9zdW0gPSAwOwogICAgICAgICAgICBOID0gSW50ZWdlci5wYXJzZUludChici5yZWFkTGluZSgpKTsKICAgICAgICAgICAgcyA9IGJyLnJlYWRMaW5lKCkuc3BsaXQoIiAiKTsKICAgICAgICAgICAgZm9yIChpPTE7aTw9TjsrK2kpCiAgICAgICAgICAgICAgICBBW2ldID0gSW50ZWdlci5wYXJzZUludChzW2ktMV0pOwogICAgICAgICAgICBzID0gYnIucmVhZExpbmUoKS5zcGxpdCgiICIpOwogICAgICAgICAgICBzdGFydCA9IEludGVnZXIucGFyc2VJbnQoc1swXSk7CiAgICAgICAgICAgIGVuZCA9IEludGVnZXIucGFyc2VJbnQoc1sxXSk7CiAgICAgICAgICAgIC8vU3VtbWluZyB0aGUgbGVmdCBhbmQgcmlnaHQgcGFydHMKICAgICAgICAgICAgZm9yKCBpPXN0YXJ0OyB0cnVlOyArK2kpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGk+TikKICAgICAgICAgICAgICAgICAgICBpJT1OOwogICAgICAgICAgICAgICAgaWYoaT09ZW5kKQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgbGVmdF9zdW0gKz0gQVtpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IoIGk9KHN0YXJ0LTEpOyB0cnVlOyAtLWkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGk9PTApCiAgICAgICAgICAgICAgICAgICAgaT1OOwogICAgICAgICAgICAgICAgcmlnaHRfc3VtICs9IEFbaV07CiAgICAgICAgICAgICAgICBpZihpPT1lbmQpCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9TeXN0ZW0ub3V0LnByaW50bG4oImxlZnRfc3VtOiAiICsgbGVmdF9zdW0pOwogICAgICAgICAgICAvL1N5c3RlbS5vdXQucHJpbnRsbigicmlnaHRfc3VtOiAiICsgcmlnaHRfc3VtKTsKICAgICAgICAgICAgdG9wID0gYm90dG9tID0gc3VtID0gMDsKICAgICAgICAgICAgLy8gVGFraW5nIG1hbmltdW0gbmVnYXRpdmUgdmFsdWVzIGZvciBsZWZ0IHBhcnQKICAgICAgICAgICAgZm9yKCBpPXN0YXJ0OyB0cnVlOyArK2kpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGk+TikKICAgICAgICAgICAgICAgICAgICBpJT1OOwogICAgICAgICAgICAgICAgaWYoaT09ZW5kKQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgc3VtICs9IEFbaV07CiAgICAgICAgICAgICAgICBpZihsZWZ0X25lZzE+c3VtKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHRvcCA9IGk7CiAgICAgICAgICAgICAgICAgICAgbGVmdF9uZWcxID0gc3VtOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHN1bSA9IDA7CiAgICAgICAgICAgIGZvciggaT0oZW5kLTEpOyB0cnVlOyAtLWkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGk9PTApCiAgICAgICAgICAgICAgICAgICAgaT1OOwogICAgICAgICAgICAgICAgc3VtICs9IEFbaV07CiAgICAgICAgICAgICAgICBpZihsZWZ0X25lZzI+c3VtKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGJvdHRvbSA9IGk7CiAgICAgICAgICAgICAgICAgICAgbGVmdF9uZWcyID0gc3VtOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYoaT09c3RhcnQgKQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vU3lzdGVtLm91dC5wcmludGxuKCJ0b3A6ICIgKyB0b3ApOwogICAgICAgICAgICAvL1N5c3RlbS5vdXQucHJpbnRsbigiYm90dG9tOiAiICsgYm90dG9tKTsKICAgICAgICAgICAgaWYobGVmdF9uZWcxIDwgbGVmdF9uZWcyKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBsZWZ0X25lZzIgPSBzdW0gPSAwOwogICAgICAgICAgICAgICAgZm9yKCBpPShlbmQtMSk7IHRydWU7IC0taSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpZihpPT0wKQogICAgICAgICAgICAgICAgICAgICAgICBpPU47CiAgICAgICAgICAgICAgICAgICAgc3VtICs9IEFbaV07CiAgICAgICAgICAgICAgICAgICAgaWYobGVmdF9uZWcyPnN1bSkKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdF9uZWcyID0gc3VtOwogICAgICAgICAgICAgICAgICAgIGlmKGk9PXN0YXJ0IHx8IGk9PSgodG9wKzEpPT1OKzEgPyAxIDogKHRvcCArIDEpKSApCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfSAgIAogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbGVmdF9uZWcxID0gc3VtID0gMDsKICAgICAgICAgICAgICAgIGZvciggaT1zdGFydDsgdHJ1ZTsgKytpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKGk+TikKICAgICAgICAgICAgICAgICAgICAgICAgaSU9TjsKICAgICAgICAgICAgICAgICAgICBpZihpPT1lbmQgfHwgaT09Ym90dG9tKQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICBzdW0gKz0gQVtpXTsKICAgICAgICAgICAgICAgICAgICBpZihsZWZ0X25lZzE+c3VtKQogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0X25lZzEgPSBzdW07CiAgICAgICAgICAgICAgICB9ICAgCiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9TeXN0ZW0ub3V0LnByaW50bG4oImxlZnRfbmVnMTogIiArIGxlZnRfbmVnMSk7CiAgICAgICAgICAgIC8vU3lzdGVtLm91dC5wcmludGxuKCJsZWZ0X25lZzI6ICIgKyBsZWZ0X25lZzIpOwogICAgICAgICAgICBhbnMgPSByaWdodF9zdW0gKyBsZWZ0X25lZzEqMiArIGxlZnRfbmVnMioyOwogICAgICAgICAgICAvL1Rha2luZyBtaW5pbXVtIG5lZ2F0aXZlIHZhbHVlcyBmb3IgcmlnaHQgcGFydAogICAgICAgICAgICB0b3AgPSBib3R0b20gPSBzdW0gPSAwOwogICAgICAgICAgICBmb3IoIGk9KHN0YXJ0LTEpOyB0cnVlOyAtLWkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKGk9PTApCiAgICAgICAgICAgICAgICAgICAgaT1OOwogICAgICAgICAgICAgICAgc3VtICs9IEFbaV07CiAgICAgICAgICAgICAgICBpZihyaWdodF9uZWcxPnN1bSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB0b3AgPSBpOwogICAgICAgICAgICAgICAgICAgIHJpZ2h0X25lZzEgPSBzdW07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihpPT1lbmQpCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3VtID0gMDsKICAgICAgICAgICAgZm9yKCBpPWVuZDsgdHJ1ZTsgKytpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihpPk4pCiAgICAgICAgICAgICAgICAgICAgaSU9TjsKICAgICAgICAgICAgICAgIGlmKGk9PXN0YXJ0KQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgc3VtICs9IEFbaV07CiAgICAgICAgICAgICAgICBpZihyaWdodF9uZWcyPnN1bSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBib3R0b20gPSBpOwogICAgICAgICAgICAgICAgICAgIHJpZ2h0X25lZzIgPSBzdW07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYocmlnaHRfbmVnMiA8IHJpZ2h0X25lZzEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJpZ2h0X25lZzEgPSBzdW0gPSAwOwogICAgICAgICAgICAgICAgZm9yKCBpPShzdGFydC0xKTsgdHJ1ZTsgLS1pKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKGk9PTApCiAgICAgICAgICAgICAgICAgICAgICAgIGk9TjsKICAgICAgICAgICAgICAgICAgICBzdW0gKz0gQVtpXTsKICAgICAgICAgICAgICAgICAgICBpZihyaWdodF9uZWcxPnN1bSkKICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHRfbmVnMSA9IHN1bTsKICAgICAgICAgICAgICAgICAgICBpZihpPT1lbmQgfHwgaT09KChib3R0b20gKyAxKT09TisxID8gTiA6IChib3R0b20gKyAxKSkgKQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0gICAKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN1bSA9IHJpZ2h0X25lZzIgPSAwOwogICAgICAgICAgICAgICAgZm9yKCBpPWVuZDsgdHJ1ZTsgKytpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKGk+TikKICAgICAgICAgICAgICAgICAgICAgICAgaSU9TjsKICAgICAgICAgICAgICAgICAgICBpZihpPT1zdGFydCB8fCBpPT0odG9wKSkKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgc3VtICs9IEFbaV07CiAgICAgICAgICAgICAgICAgICAgaWYocmlnaHRfbmVnMj5zdW0pCiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0X25lZzIgPSBzdW07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9TeXN0ZW0ub3V0LnByaW50bG4oInJpZ2h0X25lZzE6ICIgKyByaWdodF9uZWcxKTsKICAgICAgICAgICAgLy9TeXN0ZW0ub3V0LnByaW50bG4oInJpZ2h0X25lZzI6ICIgKyByaWdodF9uZWcyKTsKICAgICAgICAgICAgYW5zID0gTWF0aC5taW4oYW5zLGxlZnRfc3VtICsgcmlnaHRfbmVnMSoyICsgcmlnaHRfbmVnMioyKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGFucyk7CiAgICAgICAgfQogICAgfQp9