#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m; cin>>n>>m;
vector<int> a(n);
for(int i=0;i<n;i++) cin>>a[i];
sort(a.begin(),a.end());
long long cnt=0;
for(int i=0;i<n;i++){
int trai=i+1,phai=n-1,vitri=i;
while(trai<=phai){
int mid=(trai+phai)/2;
if(a[i]+a[mid]<=m){
vitri=mid;
trai=mid+1;
}
else phai=mid-1;
}
cnt+=vitri-i;
}
cout<<cnt;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpewogICAgaW50IG4sbTsgY2luPj5uPj5tOwogICAgdmVjdG9yPGludD4gYShuKTsgCiAgICBmb3IoaW50IGk9MDtpPG47aSsrKSBjaW4+PmFbaV07CiAgICBzb3J0KGEuYmVnaW4oKSxhLmVuZCgpKTsKICAgIGxvbmcgbG9uZyBjbnQ9MDsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgICBpbnQgdHJhaT1pKzEscGhhaT1uLTEsdml0cmk9aTsKICAgICAgICAgd2hpbGUodHJhaTw9cGhhaSl7CiAgICAgICAgICAgICBpbnQgbWlkPSh0cmFpK3BoYWkpLzI7CiAgICAgICAgICAgICBpZihhW2ldK2FbbWlkXTw9bSl7CiAgICAgICAgICAgICAgICAgdml0cmk9bWlkOwogICAgICAgICAgICAgICAgIHRyYWk9bWlkKzE7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHBoYWk9bWlkLTE7CiAgICAgICAgIH0KICAgICAgICAgY250Kz12aXRyaS1pOwogICAgfQogICAgY291dDw8Y250OwogICAgcmV0dXJuIDA7Cn0K