#include using namespace std; using ll = long long; bool chmin(auto &a, auto b) { return a > b ? a = b, true : false; } bool chmax(auto &a, auto b) { return a < b ? a = b, true : false; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector A(N), B(N); for (int i = 0; i < N; i++) cin >> A[i] >> B[i]; vector dp(N + 1, -1e18); dp[0] = 0; for (int i = N - 1; i >= 0; i--) { vector ndp(N + 1, -1e18); for (int j = 0; j <= N; j++) { chmax(ndp[j], dp[j] + j * A[i]); if (j) { chmax(ndp[j], dp[j - 1] + B[i]); } } dp = ndp; } cout << *max_element(dp.begin(), dp.end()) << endl; }