#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")