#include <bits/stdc++.h>
using ll = long long;
#define int ll

using namespace std;
const int mod = 998244353;
struct Mint {
    int val;
    Mint() {
        val = 0;
    }
    Mint(int x) {
        x %= mod;
        if (x < 0) x += mod;
        val = x;
    }
};
Mint operator+=(Mint& a, Mint b) {
    a.val += b.val;
    if (a.val >= mod) a.val -= mod;
    return a;
}
Mint operator-=(Mint& a, Mint b) {
    a.val -= b.val;
    if (a.val < 0) a.val += mod;
    return a;
}
Mint operator+(Mint a, Mint b) {
    a += b;
    return a;
}
Mint operator-(Mint a, Mint b) {
    a -= b;
    return a;
}
Mint operator*=(Mint& a, Mint b) {
    a.val = 1ll * a.val * b.val % mod;
    return a;
}
Mint operator*(Mint a, Mint b) {
    a *= b;
    return a;
}
Mint binpow(Mint x, int p) {
    if (p == 0) return 1;
    if (p == 1) return x;
    if (p % 2 == 0) {
        return binpow(x * x, p / 2);
    }
    return x * binpow(x, p - 1);
}
void solve() {
    int n; cin >> n;
    vector<int> a(n), b(n);
    for (int i = 0; i < n; i++) cin >> a[i] >> b[i];
    vector<int> p(n);
    for (int i = 0; i < n; i++) {
        cin >> p[i];
    }
    int res = 0;
    int sum = 0;
    for (int i = 0; i < n; i++) {
        sum += a[i] + i * b[i];
        res = max(res, sum);
    }
    cout << res << "\n";
    return;
    // vector<vector<int>> dp(n, vector<int>(n, -1e18));
    // dp[0][0] = 0;
    // vector<vector<int>> prefma(n, vector<int>(n));
    // prefma[0][0] = 0;
    // vector<int> ogr_mi(n), ogr_ma(n, 0);
    // for (int i = 0; i < n; i++) ogr_mi[i] = i;
    // for (int i = 0; i < n; i++) {
    //     if (p[i] != -1) {
    //         for (int j = 0; j < p[i]; j++) {
    //             ogr_mi[j] = min(ogr_mi[j], i);
    //         }
    //         for (int j = p[i]; j < n; j++) {
    //             ogr_ma[j] = max(ogr_ma[j], i + 1);
    //         }
    //     }
    // }
    // for (int i = 1; i < n; i++) {
    //     for (int t = ogr_ma[i]; t < ogr_mi[i] + 1; t++) {
    //         dp[i][t] = prefma[i - 1][t] + b[i] * t;
            
    //     }
    //     prefma[i][ogr_ma[i]] = dp[i][ogr_ma[i]];
    //     for (int t = ogr_ma[i] + 1; t < n; t++) prefma[i][t] = max(prefma[i][t - 1], dp[i][t]);
    // }
    // int res = -1e18;
    // int suma = 0;
    // for (int k = 0; k < n; k++) {
    //     suma += a[k];
    //     res = max(res, suma + prefma[k][n - 1]);
    // }
    // cout << res << "\n";

    // bool bpol = 1, bneg = 1;
    // for (int i = 0; i < n; i++) {
    //     if (b[i] < 0) bpol = 0;
    //     if (b[i] > 0)
    // }
}

int32_t main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t = 1;
    // cin >> t;
    while (t --> 0) solve();
}