#pragma GCC optimize("Ofast,unroll-loops")
#pragma GCC target("avx2,tune=native")
#include <bits/stdc++.h>
using namespace std;
#define ff(i, a, b) for(auto i=(a); i<=(b); ++i)
#define ffr(i, b, a) for(auto i=(b); i>=(a); --i)
#define nl "\n"
#define ss " "
#define pb emplace_back
typedef long long ll;
const int maxn = 500000 + 15;
int n;
int a[maxn], b[maxn];
ll l[maxn], r[maxn];
stack<int> st;
inline void enlarge(int i, int j) {
l[i] = min(l[i], l[j]);
r[i] = max(r[i], r[j]);
a[i] = min(a[i], a[j]);
b[i] = max(b[i], b[j]);
}
void solve() {
// forward pass
while(!st.empty()) st.pop();
ff(i, 1, n) {
while(!st.empty() && l[i] <= r[st.top()]) {
int u = st.top(); st.pop();
enlarge(i, u);
a[u] = a[i]; b[u] = b[i]; // propagate cho phần tử pop
}
st.push(i);
}
// backward pass
while(!st.empty()) st.pop();
ffr(i, n, 1) {
while(!st.empty() && r[i] >= l[st.top()]) {
int u = st.top(); st.pop();
enlarge(i, u);
a[u] = a[i]; b[u] = b[i]; // propagate cho phần tử pop
}
st.push(i);
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
ff(i, 1, n) {
ll x, rad;
cin >> x >> rad;
l[i] = x - rad;
r[i] = x + rad;
a[i] = b[i] = i; // khởi tạo
}
solve();
ll ans = 0;
ff(i, 1, n) {
ll si = b[i] - a[i] + 1;
ans += 1ll * i * si;
// cout << i << ss << si << nl; // chỉ để debug nếu muốn
}
cout << ans << nl;
return 0;
}
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0LHVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIHRhcmdldCgiYXZ4Mix0dW5lPW5hdGl2ZSIpCiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBmZihpLCBhLCBiKSBmb3IoYXV0byBpPShhKTsgaTw9KGIpOyArK2kpCiNkZWZpbmUgZmZyKGksIGIsIGEpIGZvcihhdXRvIGk9KGIpOyBpPj0oYSk7IC0taSkKI2RlZmluZSBubCAiXG4iCiNkZWZpbmUgc3MgIiAiCiNkZWZpbmUgcGIgZW1wbGFjZV9iYWNrCnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKY29uc3QgaW50IG1heG4gPSA1MDAwMDAgKyAxNTsKCmludCBuOwppbnQgYVttYXhuXSwgYlttYXhuXTsKbGwgbFttYXhuXSwgclttYXhuXTsKc3RhY2s8aW50PiBzdDsKCmlubGluZSB2b2lkIGVubGFyZ2UoaW50IGksIGludCBqKSB7CiAgICBsW2ldID0gbWluKGxbaV0sIGxbal0pOwogICAgcltpXSA9IG1heChyW2ldLCByW2pdKTsKICAgIGFbaV0gPSBtaW4oYVtpXSwgYVtqXSk7CiAgICBiW2ldID0gbWF4KGJbaV0sIGJbal0pOwp9Cgp2b2lkIHNvbHZlKCkgewogICAgLy8gZm9yd2FyZCBwYXNzCiAgICB3aGlsZSghc3QuZW1wdHkoKSkgc3QucG9wKCk7CiAgICBmZihpLCAxLCBuKSB7CiAgICAgICAgd2hpbGUoIXN0LmVtcHR5KCkgJiYgbFtpXSA8PSByW3N0LnRvcCgpXSkgewogICAgICAgICAgICBpbnQgdSA9IHN0LnRvcCgpOyBzdC5wb3AoKTsKICAgICAgICAgICAgZW5sYXJnZShpLCB1KTsKICAgICAgICAgICAgYVt1XSA9IGFbaV07IGJbdV0gPSBiW2ldOyAvLyBwcm9wYWdhdGUgY2hvIHBo4bqnbiB04butIHBvcAogICAgICAgIH0KICAgICAgICBzdC5wdXNoKGkpOwogICAgfQogICAgLy8gYmFja3dhcmQgcGFzcwogICAgd2hpbGUoIXN0LmVtcHR5KCkpIHN0LnBvcCgpOwogICAgZmZyKGksIG4sIDEpIHsKICAgICAgICB3aGlsZSghc3QuZW1wdHkoKSAmJiByW2ldID49IGxbc3QudG9wKCldKSB7CiAgICAgICAgICAgIGludCB1ID0gc3QudG9wKCk7IHN0LnBvcCgpOwogICAgICAgICAgICBlbmxhcmdlKGksIHUpOwogICAgICAgICAgICBhW3VdID0gYVtpXTsgYlt1XSA9IGJbaV07IC8vIHByb3BhZ2F0ZSBjaG8gcGjhuqduIHThu60gcG9wCiAgICAgICAgfQogICAgICAgIHN0LnB1c2goaSk7CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBjaW4gPj4gbjsKICAgIGZmKGksIDEsIG4pIHsKICAgICAgICBsbCB4LCByYWQ7CiAgICAgICAgY2luID4+IHggPj4gcmFkOwogICAgICAgIGxbaV0gPSB4IC0gcmFkOwogICAgICAgIHJbaV0gPSB4ICsgcmFkOwogICAgICAgIGFbaV0gPSBiW2ldID0gaTsgLy8ga2jhu59pIHThuqFvCiAgICB9CgogICAgc29sdmUoKTsKCiAgICBsbCBhbnMgPSAwOwogICAgZmYoaSwgMSwgbikgewogICAgICAgIGxsIHNpID0gYltpXSAtIGFbaV0gKyAxOwogICAgICAgIGFucyArPSAxbGwgKiBpICogc2k7CiAgICAgICAgLy8gY291dCA8PCBpIDw8IHNzIDw8IHNpIDw8IG5sOyAvLyBjaOG7iSDEkeG7gyBkZWJ1ZyBu4bq/dSBtdeG7kW4KICAgIH0KICAgIGNvdXQgPDwgYW5zIDw8IG5sOwogICAgcmV0dXJuIDA7Cn0K