#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int p=1e9+7;
ll n,m,pre[10000000],a[10000000],maxn=-1,minn=p,ans;
ll num[10000000];
ll ksm(ll a,ll b)
{
ll ans=1;
while(b){
if(b&1) ans=(ans*a)%p;
a=(a*a)%p;
b>>=1;
}
return ans%p;
}
ll C(ll n,ll m,ll p=1e9+7)
{
if(n<=m) return 1;
return (pre[n]*ksm((pre[m]*pre[n-m])%p,p-2))%p;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
maxn=max(maxn,a[i]);
minn=min(minn,a[i]);
num[a[i]]++;
}
pre[1]=1;
for(ll i=2;i<=1000000;i++) pre[i]=pre[i-1]*i%p;
for(int i=minn;i<=maxn;i++)
{
ll xx=C(num[i],2);
if(num[i]<2) continue;
else
{
for(int j=minn;j<=i/2;j++)
{
if(j!=i-j&&num[j]>=1&&num[i-j]>=1)
ans+=xx*C(num[j],1)*C(num[i-j],1);
if(j==i-j&&num[j]>=2)
ans+=xx*C(num[j],2);
}
}
}
cout<<ans%p;
return 0;
}
膜拜大佬