#include <bits/stdc++.h>
#include "books.h"
#define int long long
using namespace std;
//
// --- Sample implementation for the task books ---
//
// To compile this program with the sample grader, place:
// books.h books.cpp grader.cpp
// in a single folder and run:
// g++ books.cpp grader.cpp
// in this folder.
//
map<int, int> vals;
int get_val (int x) {
return vals[x] = vals.count(x) ? vals[x] : skim(x + 1);
}
void solve(signed n, signed k, long long A, signed s) {
int sum = 0;
for (int i = 0; i < k; i++) {
get_val(i);
sum += get_val(i);
}
int max_sum = 0;
for (int i = n - k; i < n; i++) {
get_val(i);
max_sum += get_val(i);
}
if (A > max_sum || sum > 2 * A) impossible();
int l = k - 1;
int r = n - 1;
while (true) {
sum += get_val(r);
sum -= get_val(l);
if (sum >= A) break;
l--;
r--;
}
int a = l;
int b = r;
int base = sum - get_val(r);
while (a < b) {
int m = (a + b) / 2;
int cur = base + get_val(m);
if (cur >= A) b = m;
else a = m + 1;
}
vector<signed> ans;
for (int i = 0; i < l; i++) {
ans.push_back(i + 1);
}
for (int i = r + 1; i < n; i++) {
ans.push_back(i + 1);
}
ans.push_back(a + 1);
answer(ans);
}