#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int MAX_A = 11; 
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int T;
    cin >> T;
    while (T--) {
        int n;
        cin >> n;
        vector<vector<int>> dp_prev(2, vector<int>(MAX_A, 0));
        int max_len = 0; 

        for (int i = 0; i < n; ++i) {
            int c, a;
            cin >> c >> a;
            vector<vector<int>> dp_curr(2, vector<int>(MAX_A, 0));
            int other_c = 1 - c;
            int best_prev = 0;
            for (int prev_a = 1; prev_a < MAX_A; ++prev_a) {
                if (prev_a != a) {
                    best_prev = max(best_prev, dp_prev[other_c][prev_a]);
                }
            }
            dp_curr[c][a] = best_prev + 1;
            for (int player = 0; player < 2; ++player) {
                for (int pos = 1; pos < MAX_A; ++pos) {
                    dp_curr[player][pos] = max(dp_curr[player][pos], dp_prev[player][pos]);
                }
            }
            dp_prev = move(dp_curr);
            max_len = max(max_len, dp_prev[c][a]);
        }
        cout << max_len << endl;
    }
    return 0;
}