#include #include #include #include using namespace std; typedef pair P; const int MAX_N = 200000, INF = (int)1e9 + 1; int n, s; P p[MAX_N]; int main() { cin >> n >> s; for (int i = 0; i < n; i++) { int tmp; cin >> tmp; p[i] = make_pair(tmp, i + 1); } sort(p, p + n); priority_queue, greater> que; for (int i = 1; i + 1 < n; i++) { if (p[i].first - p[i - 1].first > s && p[i + 1].first - p[i].first > s) que.push(p[i].second); } if (n >= 2 && p[1].first - p[0].first > s) que.push(p[0].second); if (n >= 2 && p[n - 1].first - p[n - 2].first > s) que.push(p[n - 1].second); if (n == 1) que.push(1); cout << que.size() << endl; while (!que.empty()) { cout << que.top() << " "; que.pop(); } cout << endl; return 0; }