#811. 堆雪人

堆雪人

题目描述

为了生产雪人,工厂准备了三条循环传送带,每条传送带上都有 nn 个雪球(位置按顺序循环),三条传送带分别用于头、身体、腿。 第一条传送带上的球大小依次为 a1,a2,,ana_1,a_2,\dots,a_n;第二条为 b1,b2,,bnb_1,b_2,\dots,b_n;第三条为 c1,c2,,cnc_1,c_2,\dots,c_n。由于传送带是循环的,我们把下标看作模 nn 的(例如位置 i+ni+n 与位置 ii 是相同的球)。

每个雪人由三颗球组成,要求头 << 身体 << 腿(即若头、身体、腿的大小分别为 x,y,zx,y,z,则必须满足 x<y<zx<y<z)。生产程序如下:先选定三个起始下标 i,j,ki,j,k1i,j,kn1\le i,j,k\le n),然后按顺序组装 nn 个雪人:

  • 11 个雪人用球 (ai,,bj,,ck)(a_i,,b_j,,c_k)
  • 22 个雪人用球 (ai+1,,bj+1,,ck+1)(a_{i+1},,b_{j+1},,c_{k+1})
  • \dots
  • nn 个雪人用球 (ai+n1,,bj+n1,,ck+n1)(a_{i+n-1},,b_{j+n-1},,c_{k+n-1})

这里的下标均按循环(模 nn)处理。要求所选的 i,j,ki,j,k 能保证 对所有这 nn 个雪人都满足 稳定条件 ai+t<bj+t<ck+ta_{i+t}<b_{j+t}<c_{k+t}(对所有 t=0,1,,n1t=0,1,\dots,n-1)。

请你统计满足条件的三元组 (i,j,k)(i,j,k) 的数量。

输入格式

  • 第一行包含一个整数 tt1t50001\le t\le 5000)——测试用例数。

  • 每个测试用例包含四行:

    • 第一行包含一个整数 nn1n50001\le n\le 5000);
    • 第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n1ai3n1\le a_i\le 3n);
    • 第三行包含 nn 个整数 b1,b2,,bnb_1,b_2,\dots,b_n1bi3n1\le b_i\le 3n);
    • 第四行包含 nn 个整数 c1,c2,,cnc_1,c_2,\dots,c_n1ci3n1\le c_i\le 3n)。

额外限制:所有测试用例中 nn 的总和不超过 50005000

输出格式

对于每个测试用例,输出一行,包含一个整数——满足条件的 (i,j,k)(i,j,k) 三元组数量。

样例输入

4
2
1 2
3 4
5 4
3
1 1 1
2 2 2
3 3 3
4
1 2 1 2
3 3 2 2
5 5 5 5
5
1 4 2 3 5
6 4 5 7 6
7 5 8 10 10

样例输出

4
27
0
10

说明

样例解释

  • 第一个测试例(n=2n=2): 满足条件的 (i,j,k)(i,j,k)44 种,如题面示例所列。
  • 第二个测试例中任意 (i,j,k)(i,j,k) 都满足条件,因此共有 n3=27n^3=27 种组合。
  • 第三个测试例任何选择都会出现 bbaa 相等的情况,所以没有合法三元组。
  • 第四个测试例共有 1010 种合法选择。