var
n,s,i,j,ans:longint;
a:array[1..50000]of longint;
procedure sort(l,r:longint);
var
i,j,m,t:longint;
begin
i:=l;
j:=r;
m:=a[(l+r)>>1];
repeat
while a[i]while a[j]>m do dec(i);
if i<=j then begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
inc(i);
dec(j);
end;
until i>j;
if lif i end;
begin
read(n,s);
for i:=1 to n do read(a[i]);
sort(1,n); i:=1;
j:=n;
while iwhile a[i]+a[j]>s do dec(j);
inc(ans,j-i);
inc(i);
end;
writeln(ans);
end.