#include #include #include using namespace std; using ll = long long; int main(){ int N, D; cin >> N >> D; vector A(N); map> I; for (int i = 0; i < N; i++){ cin >> A[i]; I[A[i]].push_back(i); } ll ans = 0; for (int i = 0; i < N; i++){ ll l = lower_bound(I[A[i]-D].begin(), I[A[i]-D].end(), i)-I[A[i]-D].begin(); ll r = I[A[i]+D].end()-upper_bound(I[A[i]+D].begin(), I[A[i]+D].end(), i); ans += l*r; } cout << ans << endl; }