#include <bits/stdc++.h>
using namespace std;
int main() {
int n,target;
cin>>n>>target;
vector<int> numbers(n);
for(auto& number: numbers){
cin>>number;
}
int answer = 0;
unordered_map<int,int> freq;
for(int i=0; i<n; i++){
int reqNum1 = target + numbers[i];
int reqNum2 = numbers[i] - target;
if(freq.find(reqNum1) != freq.end())answer += freq[reqNum1];
if(freq.find(reqNum2) != freq.end())answer += freq[reqNum2];
freq[numbers[i]]++;
}
cout<<answer;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuLHRhcmdldDsKCWNpbj4+bj4+dGFyZ2V0OwoJCgl2ZWN0b3I8aW50PiBudW1iZXJzKG4pOwoJCglmb3IoYXV0byYgbnVtYmVyOiBudW1iZXJzKXsKCQljaW4+Pm51bWJlcjsKCX0KCQoJaW50IGFuc3dlciA9IDA7CgkKCXVub3JkZXJlZF9tYXA8aW50LGludD4gZnJlcTsKCQoJZm9yKGludCBpPTA7IGk8bjsgaSsrKXsKCQkKCQkKCQlpbnQgcmVxTnVtMSA9IHRhcmdldCArIG51bWJlcnNbaV07CgkJaW50IHJlcU51bTIgPSBudW1iZXJzW2ldIC0gdGFyZ2V0OwoJCQoJCWlmKGZyZXEuZmluZChyZXFOdW0xKSAhPSBmcmVxLmVuZCgpKWFuc3dlciArPSBmcmVxW3JlcU51bTFdOwoJCWlmKGZyZXEuZmluZChyZXFOdW0yKSAhPSBmcmVxLmVuZCgpKWFuc3dlciArPSBmcmVxW3JlcU51bTJdOwoJCQoJCWZyZXFbbnVtYmVyc1tpXV0rKzsKCX0KCQoJY291dDw8YW5zd2VyOwoJCglyZXR1cm4gMDsKfQ==