N,H,T=map(int,input().split()) A=list(map(int,input().split())) v=[0]*N L=[] for i in range(N): x=A[i] count=(H+x-1)//x v[i]=count L.append((-count*x,i)) L.sort() B=[] for i in range(N): pos=L[i][1] B.append(pos) p=[0]*N for i in range(N): p[B[i]]=i from heapq import heappush,heappop S=[] for i in range(N): count=v[i] heappush(S,count*10**6+p[i]) result=[0]*N for _ in range(T): w=heappop(S) pos=w%(10**6) count=w//(10**6) y=B[pos] result[y]+=1 count+=v[y] heappush(S,count*10**6+pos) print(*result)