#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 = -target - numbers[i];
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+Pm51bWJlcjsKCX0KCQoJaW50IGFuc3dlciA9IDA7CgkKCXVub3JkZXJlZF9tYXA8aW50LGludD4gZnJlcTsKCQoJZm9yKGludCBpPTA7IGk8bjsgaSsrKXsKCQkKCQlpbnQgcmVxTnVtMSA9IHRhcmdldCAtIG51bWJlcnNbaV07CgkJaW50IHJlcU51bTIgPSAtdGFyZ2V0IC0gbnVtYmVyc1tpXTsKCQkKCQlpZihmcmVxLmZpbmQocmVxTnVtMSkgIT0gZnJlcS5lbmQoKSlhbnN3ZXIgKz0gZnJlcVtyZXFOdW0xXTsKCQlpZihmcmVxLmZpbmQocmVxTnVtMikgIT0gZnJlcS5lbmQoKSlhbnN3ZXIgKz0gZnJlcVtyZXFOdW0yXTsKCQkKCQlmcmVxW251bWJlcnNbaV1dKys7Cgl9CgkKCWNvdXQ8PGFuc3dlcjsKCQoJcmV0dXJuIDA7Cn0=