#include #define rep(i, a, b) for(int i = (a); i <= (b); i ++) using std::cin, std::cout, std::cerr; using ll = long long; void Solve() { int n; cin >> n; std::vector> ab(n); rep(i, 0, n - 1) { int a, b; cin >> a >> b; ab[i] = {a, b}; } std::sort(ab.begin(), ab.end(), [](auto l, auto r) { return l.second > r.second; }); std::vector f(n + 1, std::vector(n + 1, 1e18L)); f[0][0] = 0; rep(i, 1, n) rep(j, 0, i) { auto [a, b] = ab[i - 1]; f[i][j] = std::min(f[i][j], f[i - 1][j]); if(j > 0) f[i][j] = std::min(f[i][j], f[i - 1][j - 1] + ll(j - 1) * b + a); } int m = n - n / 3; cout << f[n][m] << '\n'; } int main() { std::ios::sync_with_stdio(false); int T = 1; while(T --) { Solve(); } }