N, D = list(map(int, input().split())) dp = [[0 for i in range(2)] for j in range(N+1)] dp[0][1] = -float('inf') for i in range(1, N+1): t, k = list(map(int, input().split())) dp[i][0] = max(dp[i-1][0], dp[i-1][1]-D) + t dp[i][1] = max(dp[i-1][0]-D, dp[i-1][1]) + k print(max(dp[N]))