#pragma GCC optimize("O3")

#ifdef LOCAL
#include "algo/debug_ver3.hpp"
#else
#define debug(...)
#define debugArr(...)
#endif

#include <bits/stdc++.h>

using namespace std;

int main() {
	cin.tie(nullptr);
	ios::sync_with_stdio(false);

	int n, s;
	cin >> n >> s;

	vector<pair<int, int>> p(n);
	for (int i = 0; i < n; ++i) {
		cin >> p[i].first;
		p[i].second = i;
	}
	sort(p.begin(), p.end());

	vector<int> ans;
	for (int i = 0; i < n; ++i) {
		if ((i - 1 < 0 || p[i].first - p[i - 1].first > s) && (i + 1 >= n || p[i + 1].first - p[i].first > s)) {
			ans.push_back(p[i].second);
		}
	}
	sort(ans.begin(), ans.end());

	cout << ans.size() << '\n';
	for (int i = 0; i < (int)ans.size(); ++i) {
		cout << (i == 0 ? "" : " ") << ans[i] + 1;
	}
	cout << '\n';
}