#include using namespace std; const int N = 1e5 + 100; int n, m, a, b; int p[N]; set sol; int dist(int x, int y) { return (a * abs(p[x] - p[y]) + b * abs(x - y)); } void rek(int l, int r, int x, int y) { if (l > r or sol.size() == m) return; if (dist(x, l) <= dist(r, y)) { sol.insert(l + 1); rek(l + 1, r, l, y); } else { sol.insert(r + 1); rek(l, r - 1, x, r); } return; } int main() { freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); cin >> n >> m >> a >> b; for (int i = 0; i < n; ++i) cin >> p[i]; sol.insert(1); sol.insert(n); rek(1, n - 2, 0, n - 1); for (auto it = sol.begin(); it != sol.end(); ++it) cout << (*it) << ' '; return 0; }