#include using namespace std; #include using namespace atcoder; using ll = long long; using mint = modint998244353; 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]; } const ll INF = 1LL << 60; vector dp(N + 1, vector(N + 1, -INF)); dp[N][0] = 0; for(int i = N - 1; i >= 0; i--) { for(int j = 0; j <= N - 1; j++) { dp[i][j + 1] = max(dp[i][j + 1], dp[i + 1][j] + B[i]); } for(int j = 0; j <= N; j++) { dp[i][j] = max(dp[i][j], dp[i + 1][j] + j * A[i]); } } cout << *max_element(dp[0].begin(), dp[0].end()) << endl; }