#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;
}