#YDRG004G. 很 yummy 的 yummy 子序列问题

很 yummy 的 yummy 子序列问题

本题目满分 150 分。

题目描述

你有一个 nn 项序列 a1,a2,,ana_1,a_2,\ldots,a_n,计算有多少个五元子序列,存在一组 y,u,my,u,m 使这个子序列恰为 y,u,m,m,yy,u,m,m,y

注意两个子序列不同当且仅当存在元素位置不同

输入格式

第一行有一个正整数 nn 表示序列元素数。

第二行有 nn 个正整数 a1,a2,,ana_1,a_2,\ldots,a_n 表示这个序列。

输出格式

输出一行一个自然数表示答案。由于子序列可能过多,你只需要求子序列个数除以 2322^{32} 的余数即可。

样例 #1

样例输入 #1

8
1 2 2 2 4 4 1 2

样例输出 #1

7

提示

【样例解释】

  • y=1,u=m=2y=1,u=m=2,可以找到 11 个子序列 [1,2,2,2,1][1,2,2,2,1]
  • y=1,u=2,m=4y=1,u=2,m=4,可以找到 33 个子序列 [1,2,4,4,1][1,2,4,4,1]
  • y=u=2,m=4y=u=2, m=4,可以找到 33 个子序列 [2,2,4,4,2][2,2,4,4,2]

【数据范围】

子任务编号 nn\le aia_i\le 特殊性质 分值
1 3030 66
2 500500 88
3 20002000 1010
4 2×1052\times 10^5 11 44
5 3030 1212
6 200200 1515
7 10510^5 aa 回文且所有数出现次数 2\le 2 55
8 3×1043\times 10^4 aia_i 随机均匀生成 2121
9 10510^5 2727
10 2×1052\times 10^5 4242

对于全部数据,保证 5n2×1055\le n\le 2\times 10^51ai2×1051\le a_i\le 2\times 10^5