Quadruples Counting
题号:NC284104
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

给定一个大小为 4 的排列 p,以及一个大小为 n 的排列 a,求满足如下条件的四元组 (t_1,t_2,t_3,t_4) 个数:
- 1\le t_1<t_2<t_3<t_4\le n
- 对于 \forall 1\le i,j\le 4(p_i-p_j)\cdot (a_{t_i}-a_{t_j})\ge 0

输入描述:

第一行,输入一个整数 n\ (4\le n\le 5000)
第二行,输入 4 个数,第 i 个数表示 p_i,保证 p 构成一个 1\sim 4 的排列。
第三行,输入 n 个数,第 i 个数表示 a_i,保证 a 构成一个 1\sim n 的排列。

输出描述:

输出满足条件的四元组个数。
示例1

输入

复制
5
1 2 3 4
1 2 3 4 5

输出

复制
5
示例2

输入

复制
8
1 3 2 4
1 2 5 6 3 4 7 8

输出

复制
16

备注:

样例解释 1:任意的四元组均满足条件,故有 \binom{5}{4}=5 个。