#include <bits/stdc++.h>
#include "books.h"
using namespace std;
/*int skim(int x){
cout<<x<<endl;
int r;
cin>>r;
return r;
}
void answer(vector<int>r){
for(int k=0;k<r.size();k++){
cout<<r[k]<<' ';
}
exit(0);
}
void impossible(){
cout<<"IMPOSSIBLE!"<<endl;
exit(0);
}*/
void solve(int n, int books, long long int a, int s){
vector<long long int>v(n+10);
long long int sum=0;
vector<int>resp;
for(int k=1;k<books;k++){
v[k]=skim(k);
sum+=v[k];
resp.push_back(k);
}
int p1=books, p2=n;
while(p1<p2){
int m=(p1+p2+1)/2;
v[m]=skim(m);
if(a<=v[m]+sum and v[m]+sum<=2*a){
resp.push_back(m);
answer(resp);
}
if(v[m]+sum<a){
p1=m;
}else{
p2=m-1;
}
}
resp.push_back(p1);
sum+=v[p1];
for(int k=p1-1;k>=p1-books+1;k--){
int aux=skim(k);
int idx=books-(p1-k);
resp[idx-1]=k;
sum+=aux-v[idx];
if(sum>=a){
answer(resp);
}
}
impossible();
}
/*int main(){
int n, m, s;
long long int a;
cin>>n>>m>>a>>s;
solve(n, m, a, s);
}*/