1348: 取数游戏

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:5 解决:1

题目描述

小明正在玩一个取数游戏,首先他有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的余数即可。

输入

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

输出

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

样例输入 复制

4
3 1 3 1

样例输出 复制

4

提示

【数据范围】
对于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]很多)哦。

来源/分类