#include <bits/stdc++.h> #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") using namespace std; using ll = long long; const ll mod = 998244353; #define fi first #define se second #define rep(i,n) for(ll i=0;i<n;i++) #define all(x) x.begin(),x.end() #define faster ios::sync_with_stdio(false);cin.tie(nullptr) int main() { ll N,S; cin >> N >> S; vector<pair<ll,ll>> P(N); rep(i,N){ cin >> P[i].fi; P[i].se=i; } sort(all(P)); vector<ll> ans; rep(i,N){ bool ok=true; if(i>0) if(P[i].fi-P[i-1].fi<=S) ok=false; if(i<N-1) if(P[i+1].fi-P[i].fi<=S) ok=false; if(ok) ans.push_back(P[i].se); } sort(all(ans)); cout << ans.size() << endl; rep(i,ans.size()){ cout << ans[i]+1 << " "; } cout << endl; return 0; }