#include <bits/stdc++.h>
using namespace std;
inline void Open(const string Name) {
#ifndef ONLINE_JUDGE
(void)!freopen((Name + ".in").c_str(), "r", stdin);
(void)!freopen((Name + ".out").c_str(), "w", stdout);
#endif
}
unordered_map <int, int> H;
int a[2001];
int N, G;
long long ans;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
Open("oite");
cin >> N >> G;
for(int i = 1;i <= N;i++)
cin >> a[i];
sort(a + 1, a + N + 1);
for(int i = 1;i <= N;i++) {
for(int j = i + 1;j <= N;j++) {
if(G - a[i] - a[j] < 0)
break;
if(H.count(G - a[i] - a[j]) > 0)
ans += H[G - a[i] - a[j]];
}
for(int j = 1;j < i;j++)
H[a[i] + a[j]]++;
}
cout << ans;
return 0;
}