using System.Collections;
using System.Collections.Generic;
using System.Linq;

namespace atcoder
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var buffer = Console.ReadLine().Split();
            var N = int.Parse(buffer[0]);
            var K = int.Parse(buffer[1]);
            var list = new List<int>();
            for (int i = 0; i < N; i++)
                list.Add(int.Parse(Console.ReadLine()));

            var max = int.MinValue;
            for (int i = 1; i < N; i++)
            {
                if (Math.Abs(list[i - 1] - list[i]) <= K)
                {
                    var tmp = Count(i - 1, N, list, K);
                    if (max < tmp) max = tmp;
                }
            }

            Console.WriteLine(max);
        }

        static int Count(int i, int N, List<int> list, int K)
        {
            var ans = 1;
            for (; i < N; i++)
            {
                int up = 0;
                for (int j = i + 1; j < N; j++)
                {
                    if (Math.Abs(list[i] - list[j]) <= K)
                    {
                        Console.WriteLine(Math.Abs(list[i] - list[j]));
                        ans++;
                        break;
                    }
                    up++;
                }
                i += up;
            }

            return ans;
        }
    }
}
