# oj t -c "python3 main.py"
import sys,math
from collections import defaultdict,deque
from itertools import combinations,permutations,accumulate,product
from bisect import bisect_left,bisect_right
from heapq import heappop,heappush,heapify
#from sortedcontainers import SortedList,SortedSet
def input():return sys.stdin.readline().rstrip()
def ii(): return int(input())
def ms(): return map(int, input().split())
def li(): return list(map(int,input().split()))
inf = pow(10,18)
mod = 998244353
#//////////////////////////////////
N,S = ms()
P = li()
P = [(P[i],i+1) for i in range(N)]
ans = list()
P.sort()
for i in range(N):
  if (i!=0 and S>=abs(P[i-1][0]-P[i][0])) or (i!=N-1 and S>=abs(P[i][0]-P[i+1][0])):
    pass
  else:
    ans.append(P[i][1])
print(len(ans))
ans.sort()
print(*ans)