N,H,T=map(int, input().split()) A=list(map(int, input().split())) C=[] import heapq ans=[0]*N for i in range(N): a=A[i] t=(H-1)//a+1 heapq.heappush(C,(t,t*a,i)) from collections import deque d=deque() for j in range(T): if len(d)==0: E=[] t,ta,i=heapq.heappop(C) E.append((t,ta,i)) p=t while C: t,ta,i=heapq.heappop(C) if p!=t: heapq.heappush(C,(t,ta,i)) break else: E.append((t,ta,i)) E=sorted(E,key=lambda x: x[2]) E=sorted(E,reverse=True,key=lambda x: x[1]) for e in E: d.append(e) t,ta,i=d.popleft() ans[i]+=1 p=(H-1)//A[i]+1 heapq.heappush(C,(p+t,ta,i)) print(*ans)