import sys import typing from atcoder.segtree import SegTree def op(x: int, y: int) -> int: return max(x, y) def main() -> None: input = sys.stdin.buffer.readline ttt = int(input()) for _ in range(ttt): n = int(input()) p = list(map(int, input().split())) q = list(map(int, input().split())) for i in range(n): p[i] -= 1 for i in range(n): q[i] -= 1 segs = [SegTree(op, 0, n) for _ in range(n)] for i in range(n): segl = SegTree(op, 0, n) segh = SegTree(op, 0, n) res = [0] * n for j in range(n): res[j] = max( segl.prod(0, q[j]), segh.prod(q[j] + 1, n), ) + 1 segl.set( q[j], segs[j].prod(0, p[i]), ) segh.set( q[j], segs[j].prod(p[i] + 1, n), ) for j in range(n): segs[j].set(p[i], res[j]) ans = 0 for i in range(n): ans = max(ans, segs[i].all_prod()) print(ans) if __name__ == "__main__": main()