#5542. 速记

速记

题目描述

在某次信息学竞赛中,将会考核选手们快速记录下不同数据的能力。为了训练选手的速记能力,赛题设计了一些数字序列,要求选手通过分析这些序列来统计匹配的结果。

给定三个长度为 N 的序列 A = (A1, A2, …, AN)、B = (B1, B2, …, BN)、和 C = (C1, C2, …, CN),其中每个序列中的元素都是从 1 到 N 之间的整数。

问题要求选手计算有多少对整数 (i, j) 满足条件 A[i] = B[C[j]]。

即,对于每一对 (i, j),如果 A[i] 和 B[C[j]] 的值相等,就认为这是一个符合条件的匹配。

输入格式

  1. 第一行输入一个整数 N,表示序列的长度。
  2. 第二行包含 N 个整数 A1, A2, …, AN,表示序列 A 的内容。
  3. 第三行包含 N 个整数 B1, B2, …, BN,表示序列 B 的内容。
  4. 第四行包含 N 个整数 C1, C2, …, CN,表示序列 C 的内容。

输出格式

输出一个整数,表示满足条件 Ai = BCj 的整数对 (i, j) 的数量。

样例输入 1

3
1 2 2
3 1 2
2 3 2

样例输出 1

4

样例输入 2

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

样例输出 2

16

样例输入 3

3
2 3 3
1 3 3
1 1 1

样例输出 3

0

说明

样例 1 解释

有四对 (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 ≤ N ≤ 50;
  • 对于 100% 的数据,满足 1 ≤ N ≤ 1e5,1 ≤ Ai, Bi, Ci ≤ N。