#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void solve() {
    int n;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }

    // Tìm Median M của toàn bộ mảng
    vector<int> sorted_a = a;
    sort(sorted_a.begin(), sorted_a.end());
    int M = sorted_a[n / 2];

    // Tạo mảng điều kiện biên
    vector<int> c1(n), c2(n);
    for (int i = 0; i < n; ++i) {
        c1[i] = (a[i] >= M) ? 1 : -1;
        c2[i] = (a[i] <= M) ? 1 : -1;
    }

    // Khởi tạo mảng DP
    vector<int> dp(n + 1, -1);
    dp[0] = 0;

    // Chuyển trạng thái DP O(N^2)
    for (int i = 1; i <= n; ++i) {
        int s1 = 0, s2 = 0;
        for (int j = i - 1; j >= 0; --j) {
            s1 += c1[j];
            s2 += c2[j];
            
            // Nếu độ dài lẻ và trạng thái trước đó hợp lệ
            if ((i - j) % 2 == 1 && dp[j] != -1) {
                if (s1 > 0 && s2 > 0) {
                    dp[i] = max(dp[i], dp[j] + 1);
                }
            }
        }
    }

    cout << dp[n] << "\n";
}

int main() {
    // Tối ưu I/O cho C++
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    
    int t;
    if (cin >> t) {
        while (t--) {
            solve();
        }
    }
    return 0;
}