在某次信息学竞赛中,将会考核选手们快速记录下不同数据的能力。为了训练选手的速记能力,赛题设计了一些数字序列,要求选手通过分析这些序列来统计匹配的结果。
给定三个长度为 N 的序列 A = (A_1, A_2, \ldots, A_N) 、 B = (B_1, B_2, \ldots, B_N) 、和 C = (C_1, C_2, \ldots, C_N) ,其中每个序列中的元素都是从 1 到 N 之间的整数。
问题要求选手计算有多少对整数 (i, j) 满足条件 A_i = B_{C_j} 。
即,对于每一对 (i, j) ,如果 A[i] 和 B[C[j]] 的值相等,就认为这是一个符合条件的匹配。
第一行输入一个整数 N ,表示序列的长度。
第二行包含 N 个整数 A_1, A_2, \ldots, A_N ,表示序列 A 的内容。
第三行包含 N 个整数 B_1, B_2, \ldots, B_N ,表示序列 B 的内容。
第四行包含 N 个整数 C_1, C_2, \ldots, C_N ,表示序列 C 的内容。
输出一个整数,表示满足条件 A_i = B_{C_j} 的整数对 (i, j) 的数量。
3 1 2 2 3 1 2 2 3 2
4
4 1 1 1 1 1 1 1 1 1 2 3 4
16
3 2 3 3 1 3 3 1 1 1
0
有四对 (i,j) 满足 A[i]=B[C[j]],分别是:(1,1),(1,3),(2,2),(3,2)。
因为:
A[1]=1,C[1]=2,B[C[1]]=B[2]=1,因此 A[1]=B[C[1]] 。
A[1]=1,C[3]=2,B[C[3]]=B[2]=1,因此 A[1]=B[C[3]] 。
A[2]=2,C[2]=3,B[C[2]]=B[3]=2,因此 A[2]=B[C[2]] 。
A[3]=2,C[2]=3,B[C[2]]=B[3]=2,因此 A[3]=B[C[2]] 。
对于 15\% 的数据,满足 1 \le N \le 50。
对于 100\% 的数据,满足 1 \leq N \leq 10^5 , 1 \leq A_i, B_i, C_i \leq N 。