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