#include <iostream>
#include<algorithm>
using namespace std;
long long a[114514];
int main()
{
int i,j;
int n,k;
long long cnt=0;
long long p1,p2;
cin>>n>>k;
i=1,j=n;
for (int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
while (j>=i)
{
if (a[i]+a[j]>k)
{
j--;
}
else if (a[i]+a[j]<k)
{
i++;
}
else
{
long long t1=a[i],t2=a[j];
long long p1=0,p2=0;
while (a[i]==t1 && j>=i && i<=n)
{
i++;
p1++;
}
while(a[j]==t2 && j>=i && j>=1)
{
j--;
p2++;
}
cnt+=p1*p2;
}
}
cout<<cnt;
return 0;
}
#include <iostream>
#include<algorithm>
using namespace std;
long long a[114514];
int main()
{
int i,j;
int n,k;
long long cnt=0;
long long p1,p2;
cin>>n>>k;
i=1,j=n;
for (int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n);
while (j>=i)
{
if (a[i]+a[j]>k)
{
j--;
}
else if (a[i]+a[j]<k)
{
i++;
}
else
{
long long t1=a[i],t2=a[j];
long long p1=0,p2=0;
while (a[i]==t1 && j>=i && i<=n)
{
i++;
p1++;
}
while(a[j]==t2 && j>=i && j>=1)
{
j--;
p2++;
}
if (p1==0)
cnt+=p2;
else if (p2==0)
cnt+=p1;
else
cnt+=p1*p2;
}
}
cout<<cnt;
return 0;
}