#include using namespace std; int N,D; vector T(110),K(110); int memo[110][3]; int main(){ cin >> N >> D; for(int i=1;i<=N;i++)cin >> T[i] >> K[i]; memo[1][0]=T[1]; memo[1][1]=K[1]-D; for(int i=2;i<=N;i++){ memo[i][0]=max(memo[i-1][0]+T[i],memo[i-1][1]+T[i]-D); memo[i][1]=max(memo[i-1][0]+K[i]-D,memo[i-1][1]+K[i]); } cout << max(memo[N][0],memo[N][1]) << endl; }