#include using namespace std; using ll = long long; int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int N; cin >> N; ll H; cin >> H; int T; cin >> T; vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; assert(1 <= A[i] && A[i] < H); } assert(1 <= N && N <= 100000); assert(1 <= H && H <= 100000000); assert(1 <= T && T <= 100000); vector steps(N); vector over(N); for (int i = 0; i < N; i++) { steps[i] = (H + A[i] - 1) / A[i]; over[i] = steps[i] * A[i] - H; } priority_queue, vector>, greater<>> pq; ll currentTime = 0; for (int i = 0; i < N; i++) { pq.emplace(currentTime + steps[i], -over[i], i); } vector ans(N); for (int t = 0; t < T; t++) { auto [time, ov, index] = pq.top(); pq.pop(); ans[index]++; currentTime = time; pq.emplace(currentTime + steps[index], -over[index], index); } for (int i = 0; i < N; i++) { cout << ans[i]; if (i < N - 1) cout << " "; } cout << endl; }