#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; #define MOD 1000000007 // 10^9 + 7 #define INF 1000000000 // 10^9 #define LLINF 1LL<<60 int dpT[101]; // N日目の夜に東京にいて、かつ最大 int dpK[101]; int T[101], K[101]; int main() { cin.tie(0); ios::sync_with_stdio(false); int N, D; cin >> N >> D; for (int i = 1; i <= N; i++) { cin >> T[i] >> K[i]; } dpT[0] = 0; dpK[0] = -INF; for (int i = 1; i <= N; i++) { dpT[i] = max(dpT[i - 1], dpK[i - 1] - D) + T[i]; dpK[i] = max(dpK[i - 1], dpT[i - 1] - D) + K[i]; } cout << max(dpT[N], dpK[N]) << endl; return 0; }