## https://yukicoder.me/problems/no/3221 import heapq def main(): N, H, T = map(int, input().split()) A = list(map(int, input().split())) # 0の状態から何回やればHに届くのかを回答 C = [0] * N queue = [] for i in range(N): x = H // A[i] x += 1 if H % A[i] > 0 else 0 m = x * A[i] heapq.heappush(queue, (x, - m, i)) for _ in range(T): x_count, value, i = heapq.heappop(queue) value *= -1 C[i] += 1 x = H // A[i] x += 1 if H % A[i] > 0 else 0 m = x * A[i] heapq.heappush(queue, ( x * x_count, -m , i)) print(" ".join(map(str, C))) if __name__ == "__main__": main()