#include using namespace std; using ll = long long; int main () { int N; cin >> N; ll H, T; cin >> H >> T; std::vector A(N), D(N); for (ll& a : A) cin >> a; for (int i = 0; i < N; i ++) { D[i] = (H - 1) / A[i] + 1; } ll ok = H * T, ng = 0; while (abs(ok - ng) > 1) { ll mu = (ok + ng) / 2; ll s = 0; for (ll d : D) { s += mu / d; } (s >= T ? ok : ng) = mu; } vector C(N, 0); vector ids; for (int i = 0; i < N; i ++) { C[i] = (ok - 1) / D[i]; if (ok % D[i] == 0) { ids.push_back(i); } } T -= accumulate(C.begin(), C.end(), 0ll); sort(ids.begin(), ids.end(), [&](int i, int j) { ll a = A[i] * D[i], b = A[j] * D[j]; if (a != b) return a > b; else return i < j; }); for (int i = 0; i < T; i ++) { C[ids[i]] ++; } for (auto& a : C) cout << a << " "; cout << endl; }