#P2261. 三元组

三元组

题目描述

给你两个长度为 nn 的序列 num1num1num2num2,两者都是 [00, 11, ..., n1n - 1] 的排列。 好三元组指的是 33 个 互不相同 的值,且它们在数组 nums1nums1nums2nums2 中出现顺序保持一致。换句话说,如果我们将 pos1vpos1_v 记为值 vvnums1nums1 中出现的位置,pos2vpos2_v 为值 vvnums2nums2 中的位置,那么一个好三元组定义为 0<=x,y,z<=n10 <= x, y, z <= n - 1 ,且 pos1x<pos1y<pos1zpos1_x < pos1_y < pos1_zpos2x<pos2y<pos2zpos2_x < pos2_y < pos2_z 都成立的 (xx, yy, zz) 。

请你输出好三元组的总数目。

输入格式

第一行输入一个整数 nn

第二行和第三行分别输入 nn 个数,表示长度为 nn 的排列。 1leqnleq1061 \\leq n \\leq 10^6

输出格式

输出一个整数,表示好三元组的总数目。

样例

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

提示

第一组样例,总共有 4 个三元组 ( xx , yy , zz ) 满足 pos1x<pos1y<pos1zpos1_x < pos1_y < pos1_z ,分别是 ( 22 , 00 , 11) ,( 22 , 00 , 33 ) ,( 22 , 11 , 33 ) 和 ( 00 , 11 , 33 ) 。这些三元组中,只有 ( 00 , 11 , 33) 满足 pos2x<pos2y<pos2zpos2_x < pos2_y < pos2_z 。所以只有 11 个好三元组。

by 励翔 2022春第三次排位赛