#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const long long mod=10e9+7;
long long num[5010];
long long f(long long n)
{
return n*(n-1)/2%mod;
}
int main() {
int n,a,maxa=-1,mina=10e5+10;
long long ans=0;
cin>>n;
for(int i=0;i<n;i++)
{
scanf("%d",&a);
maxa=max(maxa,a);
mina=min(mina,a);
num[a]++;
}
for(int i=mina+1;i<=maxa;i++)
{
if(num[i]>=2)
{
long long p=f(num[i])%mod;
for(int j=mina;j<=i/2;j++)
{
if(j==i-j&&num[j]>=2)
ans=(ans+p*f(num[j])%mod)%mod;
if(j!=i-j&&num[j]&&num[i-j])
ans=(ans+p*num[j]%mod*num[i-j]%mod)%mod;
}
}
}
printf("%lld",ans%mod);
return 0;
}