/Khieuvu3 - Khiêu vũ 3

<Problem>

http://ntucoder.net/Problem/Details/5571
              USES CRT;
        type    Arr=array[-100..trunc(1e6)] of longint;
        var     a:Arr;
                n,k,i,dem:longint;
PROCEDURE SORT (var a:Arr; l,r:longint);
var i,j,x,tg:longint;
begin
    i:=l;
    j:=r;
    x:=a[(l+r) div 2];
    repeat
        while a[i]<x do inc(i);
        while a[j]>x do dec(j);
        if not (i>j) then begin
            tg:=a[i];
            a[i]:=a[j];
            a[j]:=tg;
            inc(i);
            dec(j);
        end;
    until (i>j);
    if l<j then SORT(a,l,j);
    if i<r then SORT(a,i,r);
end;
FUNCTION FIND (x:longint):boolean;
var l,r,mid:longint;
begin
    l:=1; r:=n;
    while (l<=r) do begin
        mid:=(l+r) div 2;
        if a[mid]=x then exit(true) else
        if a[mid]>x then r:=mid-1 else l:=mid+1;
    end;
    exit(false);
end;
                begin
                    readln(n,k);
                    for i:=1 to n do read(a[i]);
                    SORT(a,1,n);
                    dem:=0;
                    for i:=1 to n do
                        if (FIND(a[i]-k)) then inc(dem);
                    writeln(dem);
                end.