#P12776. 半

Problem Description

某学校组织了两场个人比赛,两场比赛有着相同的 nn 名选手,第 ii 名选手的编号为 ii。 你提前预知了两场个人比赛的结果:第一场比赛排名从高到低的选手编号为 a1,a2,,ana_1, a_2, \cdots, a_n,第二场比赛排名从高到低的选手编号为 b1,b2,,bnb_1, b_2, \cdots, b_n。不会出现某两名不同选手在某一场比赛中相同排名的情况,即保证 a,ba, b 均是关于 nn 的排列。 你不仅是 nn 名选手中的其中一个,还是一个大权在握的管理员。因此,你可以找出各种理由禁赛其他选手。假设选手禁赛之后,其他人的相对排名仍然与你提前预知的结果一致。 现在,对于所有的 1in1 \leq i \leq n,你需要求出你是选手 ii 时,你想要在两场比赛中均获得第一名,最少需要禁赛多少个选手。

Input

每个测试点中包含多组测试数据。输入的第一行包含一个正整数 T(1T20)T(1 \leq T \leq 20),表示数据组数。对于每组测试数据: 第一行一个正整数 n(1n106)n(1 \leq n \leq 10^6),表示选手个数。 第二行 nn 个正整数 a1,a2,,ana_1, a_2, \cdots, a_n,表示第一场比赛排名从高到低的选手编号。保证 aa 是关于 nn 的排列。 第三行 nn 个正整数 b1,b2,,bnb_1, b_2, \cdots, b_n,表示第二场比赛排名从高到低的选手编号。保证 bb 是关于 nn 的排列。 保证所有测试数据中 nn 之和不超过 2×1062 \times10^6

Output

对于每组测试数据:一行用空格隔开的 nn 个整数,第 ii 个整数表示你是选手 ii 时的答案。

Sample Input

1
5
2 1 5 4 3
2 4 5 1 3

Sample Output

3 0 4 3 3

Source

2025“钉耙编程”中国大学生算法设计暑期联赛(2)