#include <cstdio>
#include <vector>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
inline int read()
{
int x = 0; int v = 1, c;
while(c = getchar(), c < '0' || c > '9') if(c == '-') v = -1;
for(; c >= '0' && c <= '9'; c = getchar()) x = x * 10 + c - '0';
return x * v;
}
const int maxn = 20005;
int n, cnt[maxn];
vector<int> p;
pair<int, int> data[maxn];
int col[maxn << 2];
inline void pushdown(int o)
{
if(col[o]) {
col[o << 1] = col[o << 1 | 1] = col[o];
col[o] = 0;
}
}
void color(int o, int L, int R, int ql, int qr, int v)
{
if(L == ql && qr == R) {
col[o] = v;
} else {
pushdown(o);
int M = (L + R) >> 1;
if(qr <= M) {
color(o << 1, L, M, ql, qr, v);
} else if(ql > M) {
color(o << 1 | 1, M + 1, R, ql, qr, v);
} else {
color(o << 1, L, M, ql, M, v);
color(o << 1 | 1, M + 1, R, M + 1, qr, v);
}
}
}
int query(int o, int L, int R, int p)
{
if(L == R) {
return col[o];
} else {
pushdown(o);
int M = (L + R) >> 1;
if(p <= M)
return query(o << 1, L, M, p);
else
return query(o << 1 | 1, M + 1, R, p);
}
}
#define find(x) lower_bound(p.begin(), p.end(), x) - p.begin() + 1
void input()
{
register int x, y;
p.clear();
memset(cnt, 0, sizeof(cnt));
memset(col, 0, sizeof(cnt));
n = read();
for(int i = 0; i < n; ++i) {
p.push_back(x = read());
p.push_back(y = read());
data[i] = make_pair(x, y);
}
sort(p.begin(), p.end());
p.resize(unique(p.begin(), p.end()) - p.begin());
}
void solve()
{
register int ans = 0;
for(int i = 0; i < n; ++i)
color(1, 1, p.size(), find(data[i].first), find(data[i].second), i);
for(int i = 1; i <= int(p.size()); ++i) {
int x = query(1, 1, p.size(), i);
if(!cnt[x]) ans += (cnt[x] = 1);
}
printf("%d\n", ans);
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int T = read();
while(T--) {
input();
solve();
}
#ifndef ONLINE_JUDGE
fclose(stdin), fclose(stdout);
#endif
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgbG9uZyBMTDsKCmlubGluZSBpbnQgcmVhZCgpCnsKCWludCB4ID0gMDsgaW50IHYgPSAxLCBjOwoJd2hpbGUoYyA9IGdldGNoYXIoKSwgYyA8ICcwJyB8fCBjID4gJzknKSBpZihjID09ICctJykgdiA9IC0xOwoJZm9yKDsgYyA+PSAnMCcgJiYgYyA8PSAnOSc7IGMgPSBnZXRjaGFyKCkpIHggPSB4ICogMTAgKyBjIC0gJzAnOwoJcmV0dXJuIHggKiB2Owp9Cgpjb25zdCBpbnQgbWF4biA9IDIwMDA1OwoKaW50IG4sIGNudFttYXhuXTsKdmVjdG9yPGludD4gcDsKcGFpcjxpbnQsIGludD4gZGF0YVttYXhuXTsKaW50IGNvbFttYXhuIDw8IDJdOwoKaW5saW5lIHZvaWQgcHVzaGRvd24oaW50IG8pCnsKCWlmKGNvbFtvXSkgewoJCWNvbFtvIDw8IDFdID0gY29sW28gPDwgMSB8IDFdID0gY29sW29dOwoJCWNvbFtvXSA9IDA7Cgl9Cn0KCnZvaWQgY29sb3IoaW50IG8sIGludCBMLCBpbnQgUiwgaW50IHFsLCBpbnQgcXIsIGludCB2KQp7CglpZihMID09IHFsICYmIHFyID09IFIpIHsKCQljb2xbb10gPSB2OwoJfSBlbHNlIHsKCQlwdXNoZG93bihvKTsKCQlpbnQgTSA9IChMICsgUikgPj4gMTsKCQlpZihxciA8PSBNKSB7CgkJCWNvbG9yKG8gPDwgMSwgTCwgTSwgcWwsIHFyLCB2KTsKCQl9IGVsc2UgaWYocWwgPiBNKSB7CgkJCWNvbG9yKG8gPDwgMSB8IDEsIE0gKyAxLCBSLCBxbCwgcXIsIHYpOwoJCX0gZWxzZSB7CgkJCWNvbG9yKG8gPDwgMSwgTCwgTSwgcWwsIE0sIHYpOwoJCQljb2xvcihvIDw8IDEgfCAxLCBNICsgMSwgUiwgTSArIDEsIHFyLCB2KTsKCQl9Cgl9Cn0KCmludCBxdWVyeShpbnQgbywgaW50IEwsIGludCBSLCBpbnQgcCkKewoJaWYoTCA9PSBSKSB7CgkJcmV0dXJuIGNvbFtvXTsKCX0gZWxzZSB7CgkJcHVzaGRvd24obyk7CgkJaW50IE0gPSAoTCArIFIpID4+IDE7CgkJaWYocCA8PSBNKQoJCQlyZXR1cm4gcXVlcnkobyA8PCAxLCBMLCBNLCBwKTsKCQllbHNlCgkJCXJldHVybiBxdWVyeShvIDw8IDEgfCAxLCBNICsgMSwgUiwgcCk7Cgl9Cn0KCiNkZWZpbmUgZmluZCh4KSBsb3dlcl9ib3VuZChwLmJlZ2luKCksIHAuZW5kKCksIHgpIC0gcC5iZWdpbigpICsgMQoKdm9pZCBpbnB1dCgpCnsKCXJlZ2lzdGVyIGludCB4LCB5OwoJcC5jbGVhcigpOwoJbWVtc2V0KGNudCwgMCwgc2l6ZW9mKGNudCkpOwoJbWVtc2V0KGNvbCwgMCwgc2l6ZW9mKGNudCkpOwoJCgluID0gcmVhZCgpOwoJZm9yKGludCBpID0gMDsgaSA8IG47ICsraSkgewoJCXAucHVzaF9iYWNrKHggPSByZWFkKCkpOwoJCXAucHVzaF9iYWNrKHkgPSByZWFkKCkpOwoJCWRhdGFbaV0gPSBtYWtlX3BhaXIoeCwgeSk7Cgl9Cglzb3J0KHAuYmVnaW4oKSwgcC5lbmQoKSk7CglwLnJlc2l6ZSh1bmlxdWUocC5iZWdpbigpLCBwLmVuZCgpKSAtIHAuYmVnaW4oKSk7Cn0KCnZvaWQgc29sdmUoKQp7CglyZWdpc3RlciBpbnQgYW5zID0gMDsKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyArK2kpCgkJY29sb3IoMSwgMSwgcC5zaXplKCksIGZpbmQoZGF0YVtpXS5maXJzdCksIGZpbmQoZGF0YVtpXS5zZWNvbmQpLCBpKTsKCWZvcihpbnQgaSA9IDE7IGkgPD0gaW50KHAuc2l6ZSgpKTsgKytpKSB7CgkJaW50IHggPSBxdWVyeSgxLCAxLCBwLnNpemUoKSwgaSk7CgkJaWYoIWNudFt4XSkgYW5zICs9IChjbnRbeF0gPSAxKTsKCX0KCXByaW50ZigiJWRcbiIsIGFucyk7Cn0KCmludCBtYWluKCkKewojaWZuZGVmIE9OTElORV9KVURHRQoJZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CglmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKCQoJaW50IFQgPSByZWFkKCk7Cgl3aGlsZShULS0pIHsKCQlpbnB1dCgpOwoJCXNvbHZlKCk7Cgl9CgkKI2lmbmRlZiBPTkxJTkVfSlVER0UKCWZjbG9zZShzdGRpbiksIGZjbG9zZShzdGRvdXQpOwojZW5kaWYKCXJldHVybiAwOwp9