#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void solve() {
int t;
if (!(cin >> t)) return;
while (t--) {
int n;
cin >> n;
vector<long long> h(n);
for (int i = 0; i < n; ++i) {
cin >> h[i];
}
vector<long long> R(n), L(n);
for (int k = 0; k < n; ++k) {
R[k] = 0;
for (int step = 1; step < n; ++step) {
int curr = (k + step) % n;
int prev = (curr - 1 + n) % n;
R[curr] = max(R[prev], h[prev]);
}
L[k] = 0;
for (int step = 1; step < n; ++step) {
int curr = (k - step + n) % n;
int next = (curr + 1) % n;
L[curr] = max(L[next], h[curr]);
}
long long sum = 0;
for (int i = 0; i < n; ++i) {
sum += min(L[i], R[i]);
}
cout << sum << (k == n - 1 ? "" : " ");
}
cout << "\n";
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
solve();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgdDsKICAgIGlmICghKGNpbiA+PiB0KSkgcmV0dXJuOwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGludCBuOwogICAgICAgIGNpbiA+PiBuOwogICAgICAgIHZlY3Rvcjxsb25nIGxvbmc+IGgobik7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICAgICAgY2luID4+IGhbaV07CiAgICAgICAgfQogICAgICAgIHZlY3Rvcjxsb25nIGxvbmc+IFIobiksIEwobik7CiAgICAgICAgZm9yIChpbnQgayA9IDA7IGsgPCBuOyArK2spIHsKICAgICAgICAgICAgUltrXSA9IDA7CiAgICAgICAgICAgIGZvciAoaW50IHN0ZXAgPSAxOyBzdGVwIDwgbjsgKytzdGVwKSB7CiAgICAgICAgICAgICAgICBpbnQgY3VyciA9IChrICsgc3RlcCkgJSBuOwogICAgICAgICAgICAgICAgaW50IHByZXYgPSAoY3VyciAtIDEgKyBuKSAlIG47CiAgICAgICAgICAgICAgICBSW2N1cnJdID0gbWF4KFJbcHJldl0sIGhbcHJldl0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIExba10gPSAwOwogICAgICAgICAgICBmb3IgKGludCBzdGVwID0gMTsgc3RlcCA8IG47ICsrc3RlcCkgewogICAgICAgICAgICAgICAgaW50IGN1cnIgPSAoayAtIHN0ZXAgKyBuKSAlIG47CiAgICAgICAgICAgICAgICBpbnQgbmV4dCA9IChjdXJyICsgMSkgJSBuOwogICAgICAgICAgICAgICAgTFtjdXJyXSA9IG1heChMW25leHRdLCBoW2N1cnJdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBsb25nIGxvbmcgc3VtID0gMDsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICAgICAgICAgIHN1bSArPSBtaW4oTFtpXSwgUltpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dCA8PCBzdW0gPDwgKGsgPT0gbiAtIDEgPyAiIiA6ICIgIik7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgIlxuIjsKICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0=