#include<iostream>
#include<cstring>
#include<map>
#include<algorithm>
using namespace std;
const int N=1e9+7;
int a[100005];
int main()
{
int n,j=1,count=0;
cin>>n;
map<int,int>mp;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<=n-1;i++) //记录所有的腰 放到map
{
if(a[i]==a[i+1])
{
mp[a[i]]=1;
}
}
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n-1;j++)
{
if(mp[a[i]+a[j]]==1) //如果遍历的另外两条边 相加的数以前标记过
{
count++;
mp[a[i]+a[j]]=2; //可以凑成三角形 凑成后标记为2
count=count%N;
//cout<<"*"<<a[i]<<" "<<a[j]<<"*\n";
}
}
}
cout<<count;
}