#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
int n,m,s,w[N],mapp[N];
signed main(){
cin>>n>>m>>s;
for(int i=1;i<=m;i++){
cin>>w[i];
mapp[w[i]]=1;
}
if(m!=0&&(w[1]<s||(n-w[m])<s)){
cout<<"NO";
return 0;
}
if(m!=0){
for(int i=3;i<=m;i++){
if(w[i]-w[i-2]<s){
cout<<"NO";
return 0;
}
}
}
cout<<"YES"<<endl;
mapp[0]=1;
mapp[n]=1;
w[0]=0;
w[m+1]=n;
int cur=0;
for(int i=1;i<=m+1;i++){
if(mapp[w[i]]!=0&&w[i]-cur>=s){
mapp[w[i]]=0;
cur=w[i];
cout<<i<<' ';
}
}
if (cur!=w[m+1]){
cout<<"NO";
return 0;
}
for(int i=m;i>=0;i--){
if(mapp[w[i]]!=0&&cur-w[i]>=s){
mapp[w[i]]=0;
cur=w[i];
cout<<i<<' ';
}
}
return 0;
}