def main(): n = int(input()) P = list(map(lambda x: int(x)-1, input().split())) Q = list(map(lambda x: int(x)-1, input().split())) dp = [1] *n*n dp0 = [0] *n*n dp1 = [0] *n*n for pi in range(n): for qi in range(n): a = dp[pi*n+qi] x, y = dp0[pi*n+qi], dp1[pi*n+qi] for pj in range(pi+1, n): if P[pi] > P[pj]: dp0[pj*n+qi] = max(dp0[pj*n+qi], a) else: dp1[pj*n+qi] = max(dp1[pj*n+qi], a) for qj in range(qi+1, n): if Q[qi] > Q[qj]: dp[pi*n+qj] = max(dp[pi*n+qj], x+1) else: dp[pi*n+qj] = max(dp[pi*n+qj], y+1) if 0: for i in range(n): print(dp[i*n: i*n+n]) print() for i in range(n): print(dp0[i*n: i*n+n]) print() for i in range(n): print(dp1[i*n: i*n+n]) return max(dp) for _ in range(int(input())): print(main())