N,D = list(map(int,input().split())) dp = [[0 for i in range(2)] for j in range(N+1)] for i in range(1,N+1): T,K = list(map(int,input().split())) if i!=1: dp[i][0] = max(dp[i-1][1]-D+T ,dp[i-1][0]+T) dp[i][1] = max(dp[i-1][0]-D+K ,dp[i-1][1]+K) else: dp[i][0] = max(dp[i-1][1]-D+T ,dp[i-1][0]+T) dp[i][1] = K-D print(max(dp[N]))