#include<bits/stdc++.h>
#define ll long long
const int mod=1e9+7;
using namespace std;
ll n,ans;
ll a[100010];
map <ll,ll> mp;
ll C(ll a,ll b){
ll cnt=1,k=a-b+1;
for(ll i=a;i>=k;i--){
cnt*=i;
if(b==1) cnt=cnt%mod;
while(cnt%b==0&&b>=2){
cnt=cnt/b;
b--;
}
}
//printf("%lld\n",cnt);
return cnt;
}
int main(){
scanf("%lld",&n);
for(ll i=1;i<=n;i++){
scanf("%lld",&a[i]);
mp[a[i]]++;
}
for(ll i=1;i<=n;i++){
if(mp[a[i]]>=2){
if(mp.find(a[i]*2)!=mp.end()){
if(mp[a[i]*2]>=2) ans=((ans%mod)+(C(mp[a[i]],2)%mod)*(C(mp[a[i]*2],2)%mod))%mod;
}
mp[a[i]]--;
}
}
printf("%lld",ans%mod);
return 0;
}