#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
int main() {
int n, c;
cin >> n >> c;
vector<int> v(n);
unordered_map<int, int> count;
for (int i = 0; i < n; ++i) {
cin >> v[i];
count[v[i]]++;
}
long long result = 0;
if (c == 0) {
for (auto& [num, cnt] : count) {
result += (long long)cnt * cnt;
}
} else {
for (int num : v) {
result += count[num + c];
}
}
cout << result << endl;
return 0;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号