#include #include #include #define repi(i,a,b) for(int i=(a);i<(b);++i) #define rep(i,a) repi(i,0,a) #define all(a) (a).begin(), (a).end() constexpr int MAX_N = 100; using ll = long long; constexpr ll INF = std::numeric_limits::max()>>2; ll N, D; ll C[2][MAX_N]; ll dp[MAX_N+1][2]; void chmax( ll &a, ll b ) { a = std::max( a, b ); } int main() { scanf( "%lld%lld", &N, &D ); rep( i, N ) scanf( "%lld%lld", C[0]+i, C[1]+i ); dp[0][0] = 0; dp[0][1] = -INF; rep( i, N ) rep( j, 2 ) { chmax( dp[i+1][j], dp[i][!j]-D+C[j][i] ); chmax( dp[i+1][j], dp[i][j]+C[j][i] ); } printf( "%lld\n", std::max( dp[N][0], dp[N][1] ) ); return 0; }