#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int t=0; //ilosc testów
int N=0; //ilosc pomiarow
cin>>t;
for (int j=0; j<t; j++)
{
//bool pom;
int *tab;
int min;
int max=0;
cin>>N;
tab= new int[N];
for(int k=0;k<N;k++) //zwroci max przy okazji
{cin>>tab[k]; max+=tab[k];}
sort(tab, tab+N, greater < int >());
tab[0]*=-1;
min=tab[0]; //zawiera kolejne wart_predk
for(int i=0;i<N-1;i++) //szuka minimum
{
if(abs(min-tab[i+1]) >= abs(min+tab[i+1]))
tab[i+1]*=1;
else tab[i+1]*=-1;
min+=tab[i+1]; //policz akt predkosc
}
cout<<abs(min)<<" "<<max<<endl; //moze jechac na wstecznym(180,20,60=>-100)
delete [] tab;
}
//system("pause");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBpbnQgdD0wOyAvL2lsb3NjIHRlc3TDs3cKICAgIGludCBOPTA7IC8vaWxvc2MgcG9taWFyb3cKCiAgICBjaW4+PnQ7CiAgICBmb3IgKGludCBqPTA7IGo8dDsgaisrKQogICAgICAgIHsKICAgICAgICAvL2Jvb2wgcG9tOwogICAgICAgIGludCAqdGFiOwogICAgICAgIGludCBtaW47CiAgICAgICAgaW50IG1heD0wOwogICAgICAgIGNpbj4+TjsKICAgICAgICB0YWI9IG5ldyBpbnRbTl07CiAgICAgICAgZm9yKGludCBrPTA7azxOO2srKykgICAgICAgICAgICAgICAgLy96d3JvY2kgbWF4IHByenkgb2themppCiAgICAgICAgICAgIHtjaW4+PnRhYltrXTsgbWF4Kz10YWJba107fQogICAgICAgIHNvcnQodGFiLCB0YWIrTiwgZ3JlYXRlciA8IGludCA+KCkpOwogICAgICAgIHRhYlswXSo9LTE7CiAgICAgICAgbWluPXRhYlswXTsgICAgICAgICAgICAgICAgICAgICAgICAgLy96YXdpZXJhIGtvbGVqbmUgd2FydF9wcmVkawogICAgICAgIGZvcihpbnQgaT0wO2k8Ti0xO2krKykgICAgICAgICAgICAgIC8vc3p1a2EgbWluaW11bQogICAgICAgICAgICB7CiAgICAgICAgICAgIGlmKGFicyhtaW4tdGFiW2krMV0pID49IGFicyhtaW4rdGFiW2krMV0pKQogICAgICAgICAgICAgICAgdGFiW2krMV0qPTE7CiAgICAgICAgICAgICAgICBlbHNlIHRhYltpKzFdKj0tMTsKICAgICAgICAgICAgbWluKz10YWJbaSsxXTsgICAgICAgICAgICAgICAgICAvL3BvbGljeiBha3QgcHJlZGtvc2MKICAgICAgICAgICAgfQogICAgICAgIGNvdXQ8PGFicyhtaW4pPDwiICI8PG1heDw8ZW5kbDsgICAgIC8vbW96ZSBqZWNoYWMgbmEgd3N0ZWN6bnltKDE4MCwyMCw2MD0+LTEwMCkKICAgICAgICBkZWxldGUgW10gdGFiOwogICAgICAgIH0KICAgIC8vc3lzdGVtKCJwYXVzZSIpOwogICAgcmV0dXJuIDA7Cn0K