#include using namespace std; int main() { cin.sync_with_stdio(0); cin.tie(0); int T; cin >> T; for(int t = 0; t < T; t++) { int N; cin >> N; vector A(N); for(int i = 0; i < N; i++) cin >> A[i]; vector nxt(N), prev(N); // current array as linked list for(int i = 0; i < N; i++) nxt[i] = i+1, prev[i] = i-1; vector rem, ans(N, 0); vector to_rem(N, false); for(int i = 1; i < N-1; i++) if(A[i-1] > A[i] && A[i+1] > A[i]) { // deleted on day 1 rem.push_back(i); to_rem[i] = true; } for(int d = 1; d <= N-2; d++) { // simulate day d vector rem_nxt; // deleted on day d+1 for(int i = 0; i < (int)rem.size(); i++) { ans[rem[i]] = d; int n = nxt[rem[i]], p = prev[rem[i]]; if(n < N && p >= 0) { prev[n] = p; nxt[p] = n; int pp = prev[p]; if(pp >= 0 && A[pp] > A[p] && A[n] > A[p] && !to_rem[p]) { rem_nxt.push_back(p); to_rem[p] = true; } int nn = nxt[n]; if(nn < N && A[p] > A[n] && A[nn] > A[n] && !to_rem[n]) { rem_nxt.push_back(n); to_rem[n] = true; } } } rem = rem_nxt; } for(int i = 0; i < N; i++) cout << ans[i] << ((i == N-1) ? "\n" : " "); } return 0; }