#include<iostream>
#include<vector>
#include<unordered_map>
using namespace std;
int main(){
int N,C;cin>>N>>C;
vector<int>lt(N);for(int i=0;i<N;i++){cin>>lt[i];}
unordered_map<int,int>zd;
for(int i:lt){
if(zd.find(i)==zd.end()){zd[i]=1;}
else{zd[i]+=1;}
}
int cnt=0;
for(int i:lt){
if(i>=C&&zd.find(i-C)!=zd.end()){cnt+=zd[i-C];}
}
cout<<cnt;
}