#include using namespace std; #define REP(i,a,n) for(int i=(a); i<(int)(n); i++) #define rep(i,n) REP(i,0,n) #define FOR(it,c) for(__typeof((c).begin()) it=(c).begin(); it!=(c).end(); ++it) #define ALLOF(c) (c).begin(), (c).end() typedef long long ll; typedef unsigned long long ull; ll dp[100005][5]; int main(){ int N, M; cin >> N >> M; vector> v; rep(i,N){ ll A, B; cin >> A >> B; v.push_back({A,B}); } REP(i,1,N+1){ rep(j,3){ dp[i][j] = -(ll)(1e16); } } rep(i,N){ rep(j,3){ ll base = dp[i][j]; {//k==0 dp[i+1][0] = max(dp[i+1][0], base); } {//k==1 if(j>=1){ dp[i+1][1] = max(dp[i+1][1], base + v[i][0]); dp[i+1][1] = max(dp[i+1][1], base + v[i][1]); } } {//k==M if(j>=2){ dp[i+1][2] = max(dp[i+1][2], base + M * v[i][0]); dp[i+1][2] = max(dp[i+1][2], base + (M-1) * v[i][0] + v[i][1]); dp[i+1][2] = max(dp[i+1][2], base + v[i][1]); } } } } ll ret = max(max(dp[N][0], dp[N][1]), dp[N][2]); cout << ret << endl; return 0; }