#include <bits/stdc++.h>
using namespace std;
int main() {
int n ;
cin>>n;
int target;
cin>>target;
int arr[n];
for(int i = 0; i< n ; i++){
cin>>arr[i];
}
int count = 0;
unordered_map<int,int> mpp;
for(int j = 0; j< n ; j++){
int r1 = target - arr[j];
int r2 = -1 *target - arr[j];
if(target == 0){
count += mpp[r1];
}
else{
count += mpp[r1];
count += mpp[r2];
}
mpp[arr[j]] = mpp[arr[j]] + 1;
}
cout << count;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CglpbnQgbiA7CgljaW4+Pm47CglpbnQgdGFyZ2V0OwoJY2luPj50YXJnZXQ7CglpbnQgYXJyW25dOwoJZm9yKGludCBpID0gMDsgaTwgbiA7IGkrKyl7CgkJY2luPj5hcnJbaV07Cgl9CglpbnQgY291bnQgPSAwOwoJdW5vcmRlcmVkX21hcDxpbnQsaW50PiBtcHA7Cglmb3IoaW50IGogPSAwOyBqPCBuIDsgaisrKXsKCQlpbnQgcjEgPSB0YXJnZXQgLSBhcnJbal07CgkJaW50IHIyID0gLTEgKnRhcmdldCAtIGFycltqXTsKCQlpZih0YXJnZXQgPT0gMCl7CgkJCWNvdW50ICs9IG1wcFtyMV07CgkJfQoJCWVsc2V7CgkJCWNvdW50ICs9IG1wcFtyMV07CgkJCWNvdW50ICs9IG1wcFtyMl07CgkJfQoJCW1wcFthcnJbal1dID0gbXBwW2FycltqXV0gKyAxOwoJfQoJY291dCA8PCBjb3VudDsKIAogICAgcmV0dXJuIDA7Cn0=