#include using namespace std; typedef pair pii; typedef long long ll; const int N = 2000086, MOD = 1e9 + 7, INF = 0x3f3f3f3f; ll res; int n, m, cnt, w[N]; typedef array ay; int k, ans[N]; int main() { cin >> n >> m >> k; priority_queue, greater > q; for (int i = 1; i < n + 1; i++) scanf("%d", w + i), q.push({(m + w[i] - 1) / w[i], (m + w[i] - 1) / w[i] * w[i] % m, i}); int now = 1; set id; while (k--) { if (!id.size()) now = max(now, q.top()[0]); while (q.size() && q.top()[0] <= now) { auto u = q.top(); q.pop(); id.insert({-u[1], u[2]}); } auto u = id.begin()->second; id.erase(id.begin()); ans[u]++; q.push({now + (m + w[u] - 1) / w[u], (m + w[u] - 1) / w[u] * w[u] % m, u}); now++; } for (int i = 1; i < n + 1; i++) printf("%d ", ans[i]); return 0; }