local n,c,k=io.read("*n","*n","*n")
local t={}
for i=1,n do
    t[i]=io.read("*n")
end
table.sort(t)

local bus=0
local capacity=0
local tadius=t[1]+k
for i=1,n do
    if capacity==c or tadius<t[i] then
        bus=bus+1
        tadius=t[i]+k
        capacity=0
    end
    capacity=capacity+1
end
print(bus+1)