#include <iostream>
#include <vector>
#include <climits>

using namespace std;

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

    vector<long long> dp_no_skip(n, LONG_MIN);
    vector<long long> dp_skipping(n, LONG_MIN);
    vector<long long> dp_after_skip(n, LONG_MIN);

    long long max_rating = LONG_MIN;

    dp_no_skip[0] = 0;

    for (int i = 1; i < n; i++) {
        if (a[i] > dp_no_skip[i-1]) {
            dp_no_skip[i] = dp_no_skip[i-1] + 1;
        } else if (a[i] == dp_no_skip[i-1]) {
            dp_no_skip[i] = dp_no_skip[i-1];
        } else {
            dp_no_skip[i] = dp_no_skip[i-1] - 1;
        }

        if (i >= 1) {
            dp_skipping[i] = dp_no_skip[i-1];
        }

        if (i >= 2) {
            dp_after_skip[i] = dp_skipping[i-2];
        }

        max_rating = max(max_rating, dp_skipping[i]);
    }

    cout << max_rating << endl;
}

int main() {
    int t;
    cin >> t;
    
    for (int i = 0; i < t; i++) {
        solve();
    }

    return 0;
}