def main():
    N, D = map(int, input().split())
    income = [tuple(map(int, input().split())) for _ in range(N)]
    dp = [[] for _ in range(2)]
    dp[0].append(income[0][0])
    dp[1].append(income[0][1] - D)

    for day in range(1, N):
        dp[0].append(income[day][0] + max(dp[0][day-1], dp[1][day-1] - D))  # tokyo
        dp[1].append(income[day][1] + max(dp[1][day-1], dp[0][day-1] - D))  # kyoto

    print(max(dp[0][N-1], dp[1][N-1]))


main()