#include int f[120][2] = {}; int max(int a, int b) { return a > b ? a : b; } int main() { int n, d; int t[120]; int k[120]; int i, j; scanf("%d%d", &n, &d); for (i = 1; i <= n; i++) { scanf("%d%d", &t[i], &k[i]); } f[0][1] = -d; for (i = 1; i <= n; i++) { f[i][0] = max(f[i - 1][0] + t[i], f[i - 1][1] + k[i] - d); f[i][1] = max(f[i - 1][0] + t[i]-d, f[i - 1][1] + k[i]); } int result = max(f[n][0], f[n][1]); printf("%d", result); getchar(); getchar(); return 0; }