#P11126. [ROIR 2024] 三等分的数组 (Day 2)

[ROIR 2024] 三等分的数组 (Day 2)

Description

帮助玛莎计算将数组中的数字分成三元组的方式的数量,对 109+710^9 + 7 取模。

Input Format

第一行包含两个整数 nnmm1n50001 \leq n \leq 50001m50001 \leq m \leq 5000nn33 的倍数)。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n,表示数组中的数字(1aim1 \leq a_i \leq m)。

Output Format

输出一行一个整数,即将数组中的数字分成三元组的方式的数量,对 109+710^9 + 7 取模。

9 4
3 4 2 4 4 2 3 3 2
2
6 3
1 2 3 1 2 1
0

Hint

在第一个样例中,数字可以分成三元组的两种方式为 {(2,2,2),(3,3,3),(4,4,4)}\{(2, 2, 2), (3, 3, 3), (4, 4, 4)\}{(2,3,4),(2,3,4),(2,3,4)}\{ (2, 3, 4), (2, 3, 4), (2, 3, 4)\}

子任务 分值 特殊性质
00 同样例
11 1010 m3m\le3
22 88 m4m\le4
33 1010 每个数字最多出现两次
44 1212 aa 不含 44 的倍数
55 2929 n,m500n,m\le500
66 3131

对于 100%100\% 的数据,1n50001 \leq n \leq 50001aim50001 \leq a_i \leq m \leq 5000nn33 的倍数。