#include <bits/stdc++.h>
using namespace std;
void solve(int cs) {
int n;
cin >> n;
multiset<int> pos, neg;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
if (x >= 0) {
pos.insert(x);
} else {
neg.insert(x);
}
}
int first = 0;
if (pos.size()) {
first = *pos.rbegin();
pos.erase(--pos.end());
} else {
first = *neg.rbegin();
neg.erase(--neg.end());
}
dbg(first);
int64_t ans1 = 0;
if (pos.size()) {
ans1 = first - *pos.rbegin();
pos.erase(--pos.end());
} else {
ans1 = first - *neg.rbegin();
neg.erase(--neg.end());
}
if (n == 2) {
cout << ans1 << "\n";
return;
}
int64_t ans2 = 0;
if (pos.size()) {
ans2 = ans1 + *pos.rbegin();
} else {
ans2 = ans1 + *neg.rbegin();
}
cout << max(ans1, ans2) << "\n";
}
int32_t main() {
cin.tie(0) -> sync_with_stdio(0);
int t = 1;
cin >> t;
for (int i = 1; i <= t; i++) {
solve(i);
}
return 0;
}