N, C = map(int, input().split())
xv = [[int(i) for i in input().split()] for _ in range(N)]

av = 0
fa1 = 0
bv = 0
fb1 = 0
fa = []
fb = []
ga = []
gb = []
for i in range(N):
    ax = xv[i][0]
    av += xv[i][1]
    bx = C - xv[-(i+1)][0]
    bv += xv[-(i+1)][1]
    fa1 = max(fa1, av-ax)
    fa.append(fa1)
    ga.append(av - 2*ax)
    fb1 = max(fb1, bv-bx)
    fb.append(fb1)
    gb.append(bv - 2*bx)

p = max(0, fa[-1], fb[-1])

for i in range(N-1):
    p = max(p, fa[i]+gb[N-i-2], ga[i]+fb[N-i-2])

print(p)
