#include <bits/stdc++.h>
using namespace std;
int main() {
int size,k;
cin>>size>>k;
int A[size];
for(int i = 0 ; i<size ; i++){
cin>>A[i];
}
map<int,int>hashmap;
for(int i = 0 ; i<size ; i++){
hashmap[A[i]]++;
}
int totalCount = 0;
if(k%2==0){
int d = k/2;
if(hashmap.find(d)!=hashmap.end()){
totalCount += (hashmap[d]*((hashmap[d])-1))/2;
}
}
for(auto i : hashmap){
if(i.first<(k/2)){
if(hashmap.find((k-i.first))!=hashmap.end()){
int d = i.second;
int e = hashmap[(k-i.first)];
totalCount += (d*e);
}
}
}
cout<<totalCount<<endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CglpbnQgc2l6ZSxrOwogICAgY2luPj5zaXplPj5rOwogICAgaW50IEFbc2l6ZV07CiAgICBmb3IoaW50IGkgPSAwIDsgaTxzaXplIDsgaSsrKXsKICAgIAljaW4+PkFbaV07CiAgICB9CiAgICBtYXA8aW50LGludD5oYXNobWFwOwogICAgZm9yKGludCBpID0gMCA7IGk8c2l6ZSA7IGkrKyl7CiAgICAJaGFzaG1hcFtBW2ldXSsrOwogICAgfQogICAgaW50IHRvdGFsQ291bnQgPSAwOwogICAgaWYoayUyPT0wKXsKICAgIAkJaW50IGQgPSBrLzI7CiAgICAJCWlmKGhhc2htYXAuZmluZChkKSE9aGFzaG1hcC5lbmQoKSl7CiAgICAJCQl0b3RhbENvdW50ICs9IChoYXNobWFwW2RdKigoaGFzaG1hcFtkXSktMSkpLzI7CiAgICAJCX0KICAgIAl9CiAgICBmb3IoYXV0byBpIDogaGFzaG1hcCl7CiAgICAgICAgaWYoaS5maXJzdDwoay8yKSl7CiAgICAJaWYoaGFzaG1hcC5maW5kKChrLWkuZmlyc3QpKSE9aGFzaG1hcC5lbmQoKSl7CiAgICAgICAgICAgIGludCBkID0gaS5zZWNvbmQ7CiAgICAJCWludCBlID0gaGFzaG1hcFsoay1pLmZpcnN0KV07CiAgICAJCXRvdGFsQ291bnQgKz0gKGQqZSk7CiAgICAJfQogICAgICAgfQogICAgfQogICAgY291dDw8dG90YWxDb3VudDw8ZW5kbDsKfQ==