N,D=map(int,input().split()) L=[0]+list(map(int,input().split())) P=[0] for i in range(1,N): P.append(P[-1]+L[i]) #print(P) ans=[0] for i in range(1,N): A=(ans[-1]+max(D,L[i])) #print(A) if P[i]>=A: ans.append(P[i]) else: ans.append(min(A,ans[-1]+D)) print(*ans)