#2003. 取数游戏

取数游戏

Description

小明正在玩一个取数游戏,首先他有N个整数,从中任取出4个整数a,b,c,d(每个数只能取一次),若满足a=b<c=d,则称这样的四个数(a,b,c,d)为胜利四元组,可以取得胜利。例如:共有4个数,分别为1,1,3,3;a取第1个,b取第2个,c取第3个,d取第4个数,那么就可以满足条件。注意,这里a,b,c,d四个数是独立取的,因此a取第2个,b取第1个,c取第3个,d取第4个也算作不同的方案。所以这样4个数共有4种取法。
小明想要知道,有多少种取数方案,可以取出胜利四元组。方案数可能很多,小明只要知道结果除1000000007的余数即可。

Input Format

第一行一个整数N,表示小明共有N个整数。
第二行N个整数,第i个数a[i],表示第i个整数。

Output Format

一个整数,表示满足条件的四元组取法,最终结果对1000000007取模。
4
3 1 3 1
4

Hint

【数据范围】

对于20%的数据1<=n<=50。

对于40%的数据1<=n<=200。

对于60%的数据1<=n<=2000。

对于100%的数据1<=n<=100000,1<=a[i]<=1000000000。
其中有50%的数据不同的a[i]的个数<=10(相同的a[i]很多),另外50%的数据不同的a[i]的个数>=n/10(不同的a[i]很多)哦。

Source

余姚竞赛2015