#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
constexpr int N = 310;
constexpr ll INF = 0x3f3f3f3f3f3f3f3f;
int n, h[N], c[N], cnt[N << 1], mnc[N << 1];
ll K, f[N << 1][N][N];
vector<int> hs;
inline ll F(int n, int m, int k) {
n = min(n, k / m);
return n * (n - 1) / 2 * m + n * (k - n * m);
}
inline void chkmin(int &lhs, int rhs) {lhs = min(lhs, rhs);}
inline void chkmin(ll &lhs, ll rhs) {lhs = min(lhs, rhs);}
int main() {
ios_base::sync_with_stdio(0); cin.tie(nullptr), cout.tie(nullptr);
cin >> n >> K;
for (int i = 1; i <= n; i++) cin >> h[i] >> c[i], hs.emplace_back(h[i]), hs.emplace_back(h[i] + 1);
sort(hs.begin(), hs.end()); hs.erase(unique(hs.begin(), hs.end()), hs.end());
memset(mnc, 0x3f, sizeof(mnc));
for (int i = 1; i <= n; i++) {
h[i] = lower_bound(hs.begin(), hs.end(), h[i]) - hs.begin();
cnt[h[i]]++, chkmin(mnc[h[i]], c[i]);
}
memset(f, 0x3f, sizeof(f)), f[0][1][0] = 0;
int m = hs.size(), mn = 2e9;
for (int i = 0; i < m; i++) {
int wid = i + 1 < m ? min(n, hs[i + 1] - hs[i]) : n;
for (int j = 1; j <= n; j++) {
for (int k = 0; k <= n; k++) if (f[i][j][k] < INF) {
chkmin(f[i][j + 1][k], f[i][j][k] + mn);
cout << i << ' ' << j << ' ' << k << ' ' << f[i][j][k] << '\n';
chkmin(f[i + 1][j][max(k + cnt[i] - wid * j, 0)], f[i][j][k] + F(wid, j, k + cnt[i]) * K);
}
}
mn = min(mn, mnc[i]);
}
ll ans = INF;
for (int j = 1; j <= n; j++) ans = min(ans, f[m][j][0]);
cout << ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgbGw7Cgpjb25zdGV4cHIgaW50IE4gPSAzMTA7CmNvbnN0ZXhwciBsbCBJTkYgPSAweDNmM2YzZjNmM2YzZjNmM2Y7CgppbnQgbiwgaFtOXSwgY1tOXSwgY250W04gPDwgMV0sIG1uY1tOIDw8IDFdOwpsbCBLLCBmW04gPDwgMV1bTl1bTl07Cgp2ZWN0b3I8aW50PiBoczsKCmlubGluZSBsbCBGKGludCBuLCBpbnQgbSwgaW50IGspIHsKCW4gPSBtaW4obiwgayAvIG0pOwoJcmV0dXJuIG4gKiAobiAtIDEpIC8gMiAqIG0gKyBuICogKGsgLSBuICogbSk7Cn0KCmlubGluZSB2b2lkIGNoa21pbihpbnQgJmxocywgaW50IHJocykge2xocyA9IG1pbihsaHMsIHJocyk7fQppbmxpbmUgdm9pZCBjaGttaW4obGwgJmxocywgbGwgcmhzKSB7bGhzID0gbWluKGxocywgcmhzKTt9CgppbnQgbWFpbigpIHsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUobnVsbHB0ciksIGNvdXQudGllKG51bGxwdHIpOwoJY2luID4+IG4gPj4gSzsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGhbaV0gPj4gY1tpXSwgaHMuZW1wbGFjZV9iYWNrKGhbaV0pLCBocy5lbXBsYWNlX2JhY2soaFtpXSArIDEpOwoJc29ydChocy5iZWdpbigpLCBocy5lbmQoKSk7IGhzLmVyYXNlKHVuaXF1ZShocy5iZWdpbigpLCBocy5lbmQoKSksIGhzLmVuZCgpKTsKCW1lbXNldChtbmMsIDB4M2YsIHNpemVvZihtbmMpKTsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWhbaV0gPSBsb3dlcl9ib3VuZChocy5iZWdpbigpLCBocy5lbmQoKSwgaFtpXSkgLSBocy5iZWdpbigpOwoJCWNudFtoW2ldXSsrLCBjaGttaW4obW5jW2hbaV1dLCBjW2ldKTsKCX0KCW1lbXNldChmLCAweDNmLCBzaXplb2YoZikpLCBmWzBdWzFdWzBdID0gMDsKCWludCBtID0gaHMuc2l6ZSgpLCBtbiA9IDJlOTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSB7CgkJaW50IHdpZCA9IGkgKyAxIDwgbSA/IG1pbihuLCBoc1tpICsgMV0gLSBoc1tpXSkgOiBuOwoJCWZvciAoaW50IGogPSAxOyBqIDw9IG47IGorKykgewoJCQlmb3IgKGludCBrID0gMDsgayA8PSBuOyBrKyspIGlmIChmW2ldW2pdW2tdIDwgSU5GKSB7CgkJCQljaGttaW4oZltpXVtqICsgMV1ba10sIGZbaV1bal1ba10gKyBtbik7CgkJCQljb3V0IDw8IGkgPDwgJyAnIDw8IGogPDwgJyAnIDw8IGsgPDwgJyAnIDw8IGZbaV1bal1ba10gPDwgJ1xuJzsKCQkJCWNoa21pbihmW2kgKyAxXVtqXVttYXgoayArIGNudFtpXSAtIHdpZCAqIGosIDApXSwgZltpXVtqXVtrXSArIEYod2lkLCBqLCBrICsgY250W2ldKSAqIEspOwoJCQl9CgkJfQoJCW1uID0gbWluKG1uLCBtbmNbaV0pOwoJfQoJbGwgYW5zID0gSU5GOwoJZm9yIChpbnQgaiA9IDE7IGogPD0gbjsgaisrKSBhbnMgPSBtaW4oYW5zLCBmW21dW2pdWzBdKTsKCWNvdXQgPDwgYW5zOwoJcmV0dXJuIDA7Cn0=