#include #include #include #include #include #include #include #include #include #include #include #include #include #define sqr(x) ((x)*(x)) #define fz1(i,n) for ((i)=1;(i)<=(n);(i)++) #define fd1(i,n) for ((i)=(n);(i)>=1;(i)--) #define fz0g(i,n) for ((i)=0;(i)<=(n);(i)++) #define fd0g(i,n) for ((i)=(n);(i)>=0;(i)--) #define fz0k(i,n) for ((i)=0;(i)<(n);(i)++) #define fd0k(i,n) for ((i)=(long long)((n)-1);(i)>=0;(i)--) #define fz(i,x,y) for ((i)=(x);(i)<=(y);(i)++) #define fd(i,y,x) for ((i)=(y);(i)>=(x);(i)--) #define fzin fz1(i,n) #define fzim fz1(i,m) #define fzjn fz1(j,n) #define fzjm fz1(j,m) #define ff(c,itr) for (__typeof((c).begin()) itr=(c).begin();itr!=(c).end();itr++) #define rdst(st,len){static char ss[len];scanf(" %s",ss);(st)=ss;} #define inc(x,y) {x+=(y);if(x>=mod)x-=mod;} #define dec(x,y) {x-=(y);if(x<0)x+=mod;} using namespace std; int n,m,i,j,t,l[1005],r[1005],dp[1005][6005],ans; vector all; int main() { scanf("%d",&t); while(t--) { all.clear(); scanf("%d",&n); fz1(i,n){ scanf("%d%d",&l[i],&r[i]); all.push_back(l[i]); all.push_back(r[i]); all.push_back(l[i]-1); all.push_back(r[i]-1); all.push_back(l[i]+1); all.push_back(r[i]+1); } sort(all.begin(),all.end()); all.resize(unique(all.begin(),all.end())-all.begin()); fz1(i,n){ fz1(j,all.size()){ dp[i][j]=0x3f3f3f3f; } } fz1(i,all.size()){ dp[0][i]=0; } fz1(i,n){ fz1(j,all.size())if(l[i]<=all[j-1]&&all[j-1]<=r[i]){ dp[i][j]=dp[i-1][j]; } int p_odd=0x3f3f3f3f,p_even=0x3f3f3f3f; fz1(j,all.size()){ if(all[j-1]