#include<bits/stdc++.h>
using namespace std;
int tong[5001];
const int mod=1000000007;
int c[5001][3];
int com(int n,int k)//从n个元素取出k个
{
if(c[n][k]!=0) return c[n][k];
int a=1,b=1,c1=1;
for(int i=1;i<=n;i++) a=a*i%mod;
for(int i=1;i<=k;i++) b=b*i%mod;
for(int i=1;i<=n-k;i++) c1=c1*i%mod;
c[n][k]=a%mod/(b%mod*c1%mod);
c[n][k]%=mod;
return c[n][k];
}
int ans=0;
int main()
{
int n;
cin>>n;
int k,max=0;
for(int i=1;i<=n;i++)
{
cin>>k;
if(k>max) max=k;
tong[k]++;
}
for(int i=2;i<=max;i++)
{
int m=0;
if(tong[i]>=2)
{
m=com(tong[i],2)%mod;
for(int j=1;j<=i-1;j++)
{
if(j==i-j)
{
if(tong[j]>=2) m=m*com(tong[j],2)%mod;
}
else
{
if(tong[j]>=1&&tong[i-j]>=1) m=m%mod*tong[j]%mod*tong[i-j]%mod;
}
}
}
ans+=m;
}
cout<<ans;
return 0;
}