N,D=map(int,input().split()) T=[] K=[] for i in range(N): t,k=map(int,input().split()) T.append(t) K.append(k) dp=[[0,0] for i in range(N+1)] dp[1][0]=T[0] dp[1][1]=K[0]-D for i in range(1,N): dp[i+1][0]=max(dp[i][0]+T[i],dp[i][1]+T[i]-D) dp[i+1][1]=max(dp[i][0]+K[i]-D,dp[i][1]+K[i]) print(max(dp[N]))