n,d=map(int,input().split()) t,k=zip(*[map(int,input().split())for _ in range(n)]) dp=[[0,0]for _ in range(n)] dp[0][0]=t[0] dp[0][1]=-d+k[0] for i in range(1,n): dp[i][0]=max(dp[i-1][0],-d+dp[i-1][1])+t[i] dp[i][1]=max(-d+dp[i-1][0],dp[i-1][1])+k[i] print(max(dp[n-1]))