AC AC AC WA WA WA WA WA WA WA
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const long long MOD = 10e9 + 7;
const int maxn = 5050;
int b[maxn];
long long ans = 0;
int main() {
int n, a, begin = maxn, end = -1;
cin >> n;
for (int i = 0; i < n; i++)
{
scanf("%d", &a);
begin = min(begin, a);
end = max(end, a);
b[a]++;
}
for (int i = begin + 1; i <= end; i++)
{
if (b[i] >= 2)
{
for (int j = begin; j <= i / 2; j++)
{
if (b[j] and b[i - j])
{
if (j == i - j and b[j] >= 2)
{
ans += ((b[i] * (b[i] - 1) >> 1) * (b[j] * (b[j] - 1) >> 1) % MOD) % MOD;
}
else if (j != i - j)
{
ans += ((b[i] * (b[i] - 1) >> 1) * b[j] * b[i - j]) % MOD;
}
}
ans %= MOD;
}
}
}
cout << ans;
return 0;
}