#include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef LOCAL #include "../debug/debug.hpp" #else #define debug(...) 233 #endif using namespace std; typedef long long ll; void solve() { int n, m; cin >> n >> m; vector a(n + 1), b(n + 1); for (int i = 1; i <= n; i ++) cin >> a[i] >> b[i]; vector s(n + 1), suf(n + 1); for (int i = 1; i <= n; i ++) s[i] = s[i - 1] + max(a[i], b[i]); suf[n] = s[n]; for (int i = n - 1; i >= 1; i --) suf[i] = max(suf[i + 1], s[i]); ll cost = 0; ll res = 0; ll ans = 0; for (int i = 1; i <= n; i ++) { if (a[i] >= 0) { res += 1ll * (m - 1) * a[i]; } else if (a[i] < 0 && b[i] < 0) { res += max(1ll * m * a[i], 1ll * b[i]); cost += max(a[i], b[i]); } ans = max(ans, res + suf[i] - cost); } cout << ans << '\n'; } int main() { // freopen("remake.in", "r", stdin); // freopen("remake.out", "w", stdout); ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); int tt = 1; // cin >> tt; while (tt --) { solve(); } return 0; }