#include <bits/stdc++.h>
using namespace std;
void maxsub(vector<int>& m)
{
int i, msf=INT_MIN, mn=0, ie=0, j=0,is=0;
for(i=0;i<m.size();i++)
{
mn += m[i];
if(msf<mn)
{
msf = mn;
ie = i;
if(i!=0 && is!=0) is = ie-j+1;
}
if(mn<0)
{
mn = 0;
j=0;
}
j++;
}
cout<<msf<<" "<<is<<" "<<ie<<"\n";
return;
}
int main() {
// your code goes here
int t;
cin>>t;
while(t--)
{
int n, x, i;
cin>>n;
vector<int> m;
for(i=0;i<n;i++)
{
cin>>x;
m.push_back(x);
}
maxsub(m);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIG1heHN1Yih2ZWN0b3I8aW50PiYgbSkKewoJaW50ICBpLCBtc2Y9SU5UX01JTiwgbW49MCwgaWU9MCwgaj0wLGlzPTA7Cglmb3IoaT0wO2k8bS5zaXplKCk7aSsrKQoJewoJCW1uICs9IG1baV07CgkJaWYobXNmPG1uKQoJCXsKCQkJbXNmID0gbW47CgkJCWllID0gaTsKCQkJaWYoaSE9MCAmJiBpcyE9MCkgaXMgPSBpZS1qKzE7CgkJfQoJCWlmKG1uPDApCgkJewoJCQltbiA9IDA7CgkJCWo9MDsKCQl9CgkJaisrOwoJfQoJY291dDw8bXNmPDwiICI8PGlzPDwiICI8PGllPDwiXG4iOwoJcmV0dXJuOwp9CmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IHQ7CgljaW4+PnQ7Cgl3aGlsZSh0LS0pCgl7CgkJaW50IG4sIHgsIGk7CgkJY2luPj5uOwoJCXZlY3RvcjxpbnQ+IG07CgkJZm9yKGk9MDtpPG47aSsrKQoJCXsKCQkJY2luPj54OwoJCQltLnB1c2hfYmFjayh4KTsKCQl9CgkJbWF4c3ViKG0pOwoJfQoJcmV0dXJuIDA7Cn0=