#include <bits/stdc++.h>
#include "books.h"
using namespace std;
const int MAXN = 1e5+5;
int val[MAXN];
void solve(int n, int k, long long a, int s) {
int mn = 0;
for(int i = 1; i <= k; i++){
val[i] = skim(i);
mn += val[i];
}
if(mn > 2*a){ impossible(); return; }
int cur = k, lst = n;
while(cur > 0 && mn < a){
val[lst] = skim(lst);
mn += val[lst]-val[cur];
cur--; lst--;
}
if(mn < a){ impossible(); return; }
if(lst == n)mn -= val[cur];
else {mn -= val[lst+1]; cur++; lst++;}
int l = cur, r = lst;
while(l != r){
int mid = (l+r)/2;
val[mid] = skim(mid);
if(mn+val[mid] >= a)r = mid;
else l = mid+1;
}
vector<int> ans;
for(int i = 1; i < cur; i++)ans.push_back(i);
ans.push_back(l);
for(int i = lst+1; i <= n; i++)ans.push_back(i);
answer(ans);
}