using System;
using System.Linq;

namespace D
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] In = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
            int n = In[0];
            int k = In[1];
            int[] A = new int[n];
            for(int i = 0; i < n; i++)
            {
                A[i] = int.Parse(Console.ReadLine());
            }
            //最長増加部分列？
            int[] Dp = new int[n];
            int ans = 0;
            for(int i = 0; i < n; i++)
            {
                Dp[i] = 1;
                for(int j = 0; j < i; j++)
                {
                    if ((int)Math.Abs(A[j] - A[i]) <= k)
                    {
                        Dp[i] = (int)Math.Max(Dp[i], Dp[j] + 1);
                    }
                    ans = (int)Math.Max(ans, Dp[i]);
                }
            }
            Console.WriteLine(ans);
        }
    }
}
