1 /*
2 贪心 排序
3 */
4 #include<stdio.h>
5 #include<stdlib.h>
6 #include<string.h>
7 #include<iostream>
8 #include<algorithm>
9 #include<queue>
10 #include<map>
11 #include<math.h>
12 using namespace std;
13 const int maxn = 1505;
14 const int inf = 0x7fffffff;
15 struct node{
16 int x,y;
17 int vis;
18 }a[ maxn ];
19 bool cmp( node a,node b ){
20 if( a.x!=b.x ) return a.x<b.x;
21 else return a.y<b.y;
22 }
23 int main(){
24 int T;
25 scanf("%d",&T);
26 while( T-- ){
27 int n;
28 scanf("%d",&n);
29 int ai,b;
30 for( int i=1;i<=n;i++ ){
31 scanf("%d%d",&ai,&b);
32
33 if( ai%2==1 ) ai=(ai+1)/2;
34 else ai/=2;
35 if( b%2==1 ) b=(b+1)/2;
36 else b/=2;
37
38 if( ai>b ) swap( ai,b );
39 //ai=(ai+1)/2,b=(b+1)/2;
40 a[ i ].x=ai;
41 a[ i ].y=b;
42 a[ i ].vis=0;
43 }
44 sort( a+1,a+1+n,cmp );
45 int ans=0;
46 int x,y;
47 bool flag;
48 while( 1 ){
49 flag=false;
50 for( int i=1;i<=n;i++ ){
51 if( a[ i ].vis == 0 ){
52 a[ i ].vis=1;
53 x=a[ i ].x,y=a[ i ].y;
54 ans+=10;
55 flag=true;
56 break;
57 }
58 }
59 if( flag==false ) break;
60 for( int i=1;i<=n;i++ ){
61 if( a[ i ].vis==1 ) continue;
62 if( a[ i ].x>y ){
63 a[ i ].vis=1;
64 y=a[ i ].y;
65 }
66 }
67 }
68 printf("%d\n",ans);
69 }
70 return 0;
71 }