#include <bits/stdc++.h>
using namespace std;
// Find total number of pairs (i,j), i < j,
// such that abs(nums[i] + nums[j]) = target
int main()
{
int n;
int target;
int res = 0;
cin >> n >> target;
vector<int> ar;
for (int i = 0; i < n; i++)
{
int y;
cin >> y;
ar.push_back(y);
}
unordered_map<int, int> mp;
for (int j = 0; j < n; j++)
{
int def_1 = target-ar[j];
int def_2 = -target-ar[j];
if (mp.count(def_1))
res += mp[def_1];
if (mp.count(def_2))
res += mp[def_2];
mp[ar[j]]++;
}
cout << res << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBGaW5kIHRvdGFsIG51bWJlciBvZiBwYWlycyAoaSxqKSwgaSA8IGosCi8vIHN1Y2ggdGhhdCBhYnMobnVtc1tpXSArIG51bXNbal0pID0gdGFyZ2V0CgppbnQgbWFpbigpCnsKICAgIGludCBuOwogICAgaW50IHRhcmdldDsKICAgIGludCByZXMgPSAwOwoKICAgIGNpbiA+PiBuID4+IHRhcmdldDsKCiAgICB2ZWN0b3I8aW50PiBhcjsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBpbnQgeTsKICAgICAgICBjaW4gPj4geTsKICAgICAgICBhci5wdXNoX2JhY2soeSk7CiAgICB9CgogICAgdW5vcmRlcmVkX21hcDxpbnQsIGludD4gbXA7CgogICAgZm9yIChpbnQgaiA9IDA7IGogPCBuOyBqKyspCiAgICB7CiAgICAgICAgaW50IGRlZl8xID0gIHRhcmdldC1hcltqXTsKICAgICAgICBpbnQgZGVmXzIgPSAtdGFyZ2V0LWFyW2pdOwoKICAgICAgICBpZiAobXAuY291bnQoZGVmXzEpKQogICAgICAgICAgICByZXMgKz0gbXBbZGVmXzFdOwoKICAgICAgICBpZiAobXAuY291bnQoZGVmXzIpKQogICAgICAgICAgICByZXMgKz0gbXBbZGVmXzJdOwoKICAgICAgICBtcFthcltqXV0rKzsKICAgIH0KCiAgICBjb3V0IDw8IHJlcyA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9