#include #include using namespace std; typedef long long LL; typedef pair PLL; const int N = 100010; const LL NINF = -1e18; PLL p[N]; int n, m; LL dp[N][2], ans; int main() { // freopen("dinner.in", "r", stdin); // freopen("dinner.out", "w", stdout); scanf("%d%d", &n, &m); for (int i = 1; i <= n; ++i) { scanf("%lld%lld", &p[i].first, &p[i].second); } dp[1][0] = max(max(p[1].first * m, p[1].second), p[1].first * (m - 1) + p[1].second); dp[1][1] = NINF; ans = dp[1][0]; for (int i = 2; i <= n; ++i) { dp[i][0] = dp[i - 1][0] + max(max(p[i].first * m, p[i].second), p[i].first * (m - 1) + p[i].second); dp[i][1] = max(dp[i - 1][0], dp[i - 1][1]) + max(p[i].first, p[i].second); ans = max(max(ans, dp[i][0]), dp[i][1]); } printf("%lld\n", ans); return 0; }