#include
#include
#include
using namespace std
; int max
(int a
,int b
) { return a
>b
?a
:b
; } int main() { int T
,i
,j
,n
,m
,num1
[510
],num2
[510
]; int dp
[510
][510
]; scanf
("%d"
,&T
); while(T
--) { scanf
("%d"
,&n
); for(i
=1
;i
<=n
;i
++) scanf
("%d"
,&num1
[i
]); scanf
("%d"
,&m
); for(i
=1
;i
<=m
;i
++) scanf
("%d"
,&num2
[i
]); int Max
; for(i
=1
;i
<=n
;i
++) { Max
=0
; for(j
=1
;j
<=m
;j
++) { if(num2
[j
]<num1
[i
]&&Max
<dp
[i
-1
][j
]) { Max
=dp
[i
-1
][j
]; } dp
[i
][j
]=dp
[i
-1
][j
]; if(num1
[i
]==num2
[j
]) { dp
[i
][j
]=Max
+1
; } } } Max
=0
; for(i
=1
;i
<=m
;i
++) if(dp
[n
][i
]>Max
) Max
=dp
[n
][i
]; printf
("%d\n"
,Max
); if(T
)printf
("\n"
); } return 0
; }