#include<bits/stdc++.h>
using namespace std;
vector<int> arr[5000];
long long C(long long m,long long n)
{
long long s,t;
s=t=1;
for(long long i=n-m+1;i<=n;i++)
{
s*=i;
if(t<=m)
s/=t++;
}
return s;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
int ans=0;
cin>>n;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
arr[x].push_back(x);
}
map<int,int> shu;
for(int i=1;i<=5000;i++)
{
shu[i]=arr[i].size();
}
for(int i=2;i<=5000;i++)
{
if(shu[i]>=2)
{
for(int j=1;j<=i/2;j++)
{
if(i%2==0&&j==i/2)
{
if(shu[i/2]>=2) ans+=C(2,shu[i/2])*C(2,shu[i]);
}
else if(shu[j]>=1&&shu[i-j]>=1)
{
ans += C(1, shu[j]) * C(2, shu[i]) * C(1, shu[i - j]);
}
}
}
}
cout<<ans%(1000000007);
}