//https://www.hackerrank.com/challenges/maxsubarray
#include <bits/stdc++.h>
using namespace std;
void maxSubarray(vector<int> arr) {
long n= arr.size();
//Kadane's algo for maxSubarray
int maxi=arr[0],curr=arr[0],m= arr[0];
for (long i=1;i<n;i++) {
curr= max(arr[i], curr+arr[i]);
maxi= max(maxi,curr);
m= max(m+arr[i], max(arr[i],m));
}
cout<< maxi<< " "<<m<< "\n";
}
int main() {
int t;
cin>>t;
while(t-->0){
long n;
cin>>n;
vector<int> arr(n);
for (long i=0;i<n;i++)
cin>>arr[i];
maxSubarray(arr);
}
}