#include #include #include int main() { int t, n, a[100002], mi[100002], cnt[100002], cm, ci, i, j, k; scanf("%d", &t); while (t--) { scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &a[i]); memset(cnt, 0, sizeof(cnt)); for (i = 0; i < n; i++) mi[i] = 1111111111; k = 0; for (i = 0; i < n; i++) { for (j = k; j > 0; j--) if (mi[j] < a[i]) { cnt[i] = j+1; break; } if (j < 1) { cnt[i] = 1; } if (a[i] < mi[cnt[i]]) mi[cnt[i]] = a[i]; if (cnt[i] > k) k = cnt[i]; } printf("%d", cnt[0]); for (i = 1; i < n; i++) printf(" %d", cnt[i]); printf("\n"); } }