#include #define rep(i, l, r) for (int i = (l); i < (r); i++) using namespace std; typedef long long ll; int main() { int N, D; cin >> N >> D; vector P(N), Q(N); rep(i, 0, N) cin >> P[i] >> Q[i]; ll ans = -1e18; rep(i, 0, N) { rep(j, 0, N) { if (i == j) continue; ll x = - P[i] + Q[i] - P[j] + Q[j]; if (x >= 0) { ans = max(ans, min(- P[i], - P[i] + Q[i] - P[j])); } else { if (D % 2) { ll y = x * (D - 2) - P[i] + Q[i]; ans = max(ans, min(y - P[j], y - P[j] + Q[j] - P[i])); } else { ll y = x * (D - 1); ans = max(ans, min(y - P[i], y - P[i] + Q[i] - P[j])); } } } } cout << ans << endl; }