# 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)