import heapq n,h,t=map(int,input().split()) a=list(map(int,input().split())) v=[] ans=[0]*n for i in range(n): s=(h-1)//a[i]+1 heapq.heappush(v,[s,i]) x=[] m=0 for i in range(t): if x: m+=1 while v and v[0][0]<=m: q,w=heapq.heappop(v) heapq.heappush(w) q=heapq.heappop(x) ans[q]+=1 heapq.heappush(v,[(h-1)//a[q]+1+m,q]) continue q,w=heapq.heappop(v) while v and v[0][0]==q: e,r=heapq.heappop(v) heapq.heappush(x,r) heapq.heappush(x,w) m=q q=heapq.heappop(x) ans[q]+=1 heapq.heappush(v,[(h-1)//a[q]+1+m,q]) print(" ".join(map(str,ans)))