#include using namespace std; typedef long long ll; const ll INF = 1e9; int main() { ll N, D; cin >> N >> D; ll T[N], K[N]; int i, j, k; for(i = 0; i < N; i++) { cin >> T[i] >> K[i]; } ll dp[2][2]; dp[0][0] = 0; dp[0][1] = -INF; dp[1][0] = -INF; dp[1][1] = -INF; for(i = 0; i < N;i++){ for(j = 0; j < 2;j++){ dp[1][0] = max(dp[0][0] + T[i], dp[0][1] + T[i] - D); dp[1][1] = max(dp[0][0] + K[i] - D, dp[0][1] + K[i]); } dp[0][0] = dp[1][0]; dp[0][1] = dp[1][1]; } cout << max(dp[1][0], dp[1][1]) << endl; return 0; }