N, D = map(int, input().split()) Works = [list(map(int, input().split())) for i in range(N)] # dp[i][j] := i日目に東京(j=0), 京都(j=1)で仕事をする場合の金額の最大値 dp = [[0, 0] for i in range(N + 1)] # 最初は東京にいるため dp[0][1] = -D for i, (t, k) in enumerate(Works, start=1): dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] - D) + t dp[i][1] = max(dp[i - 1][1], dp[i - 1][0] - D) + k print(max(dp[N]))