from bisect import bisect_left n, k = map(int, input().split()) X = list(map(int, input().split())) D = [1 for _ in range(n)] for i in range(n): x = X[i] nx = x + k j = bisect_left(X, nx) if j < n: D[j] = max(D[j], D[i] + 1) print(max(D))