#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) templatebool chmax(T &x, T y){if(x>=y)return false;x=y;return true;} templatebool chmin(T &x, T y){if(x<=y)return false;x=y;return true;} int main(){ int N, D; long long ans = 0; cin >> N >> D; vector A(N); rep(i, N)cin >> A[i]; vector v(N); map m, n; rep(i, N){ v[i] = m[A[i]-D]; m[A[i]]++; } for(int i = N-1; i >= 0; i--){ ans += v[i]*n[A[i]+D]; n[A[i]]++; } cout << ans << endl; }