using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); static int[] LList(long n) => Enumerable.Repeat(0, (int)n).Select(_ => int.Parse(ReadLine())).ToArray(); public static void Main() { Solve(); } static void Solve() { var c = NList; var (n, p) = (c[0], c[1]); var a = NList; var list = new List<(int id, int ai)>(); for (var i = 0; i < n; ++i) list.Add((i, a[i])); list.Sort((l, r) => l.ai.CompareTo(r.ai)); var ans = new List(); for (var i = 0; i < n; ++i) { var flg = true; if (i > 0 && list[i].ai - list[i - 1].ai <= p) flg = false; if (i + 1 < n && list[i + 1].ai - list[i].ai <= p) flg = false; if (flg) ans.Add(list[i].id); } ans.Sort(); WriteLine(ans.Count); WriteLine(string.Join(" ", ans.Select(ai => ai + 1))); } }