#include #include #include #include using namespace std; using ll=long long; using P=pair; P op(P x,P y){ return min(x,y); } int inf=1e9; P e(){ return make_pair(inf,inf); } P mapping(int a,P x){ x.first+=a; return x; } int composition(int x,int y){ return x+y; } int id(){ return 0; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n,k,m; cin>>n>>k>>m; m--; vector a(n); for(int i=0;i>a[i]; vector ans; ans.push_back(m); for(int i=0;i seg(n); priority_queue

pq; for(int i=0;isum)pq.push(make_pair(i,a[i]-sum)); }else{ seg.set(i,make_pair(a[i]-k-1,i)); } } for(int t=0;tsum)pq.push(make_pair(y,a[y]-sum)); seg.set(y,e()); }else break; } if(pq.empty()){ cout<<-1<1)pq.push(make_pair(x,y-1)); } cout<=0;i--){ cout<0)cout<<" "; else cout<