#include <bitset>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <limits>
#include <iomanip>
#include <stack>
#include <algorithm>
#include <iostream>
#include <string>
#include <map>
#include <queue>
#include <set>
#include <stdio.h>
#include <math.h>


using namespace std;

typedef long long ll;

typedef vector<vector<int>> vvi;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vector<ll>> vvll;

#define mp(x, y) make_pair(x, y)

#define rep(i, n) for(int i=0; i<(n); ++i)

#define all(v) v.begin(), v.end()
//sort( all(v) )　などと使える

//nが素数かをO(√n)で判断
bool is_prime(int n) {
    bool res = true;

    if (n == 1) return false;
    else if (n == 2) return true;

    else {
        for (int i = 2; i * i <= n; i++) {
            if (n % i == 0) {
                res = false;
                break;
            }
        }
    }

    return res;
}



int perm(int n, int r) {
    if (r == 1) return n;
    return n * perm(n - 1, r - 1);
}

int fact(int n) {
    if (n == 1) return 1;
    return fact(n - 1) * n;
}

int comb(int n, int r) {
    int a = min(n, r), b = max(n, r);
    return perm(a, b) / fact(a);
}

//aの逆元　a^(-1)
ll inv_mod(ll a, ll mod) {
    ll b = mod, u = 1, v = 0;
    while (b) {
        ll t = a / b;
        a -= t * b; swap(a, b);
        u -= t * v; swap(u, v);
    }
    u %= mod;
    if (u < 0) u += mod;
    return u;
}


//n!
ll fact_mod(ll n, ll mod) {
    ll f = 1; for (int i = 2; i <= n; i++) f = f * (i % mod) % mod;
    return f;
}

ll pow_mod(ll x, ll n, ll mod) {
    ll res = 1;
    while (n > 0) {
        if (n & 1) res = (res * x) % mod;
        x = (x * x) % mod;
        n >>= 1; //右シフト(n = n >> 1)
    }
    return res;
}

//nCr(mod P)
ll comb_mod(ll n, ll r, ll mod) {
    if (r > n - r) r = n - r;
    if (r == 0) return 1;
    ll a = 1;
    for (int i = 0; i < r; i++) a = a * ((n - i) % mod) % mod;
    ll b = pow_mod(fact_mod(r, mod), mod - 2, mod);
    return (a % mod) * (b % mod) % mod;
}

bool isContain(int v, int s) {
    return s & (1 << v);
}

//unionFind ランクとりバージョン
/*
注意点
・tree.isSame(a, b)とtreeに対してisSameを使う
・スペルはisSame
*/
struct unionFind {
    vector<int> par, rnk;

    unionFind(int N) : par(N), rnk(N, 0) {
        for (int i = 0; i < N; i++) par[i] = i;
    }

    int root(int x) {
        if (par[x] == x) return x;
        else return par[x] = root(par[x]);
    }

    void unite(int x, int y) {
        x = root(x), y = root(y);

        if (x == y) return;
        else if (rnk[x] < rnk[y]) par[x] = y;
        else {
            par[y] = x;
            if (rnk[x] == rnk[y]) rnk[y]++;
        }
    }

    bool isSame(int x, int y) {
        return root(x) == root(y);
    }
};

/*クラスカル法
注意点！
・long long 型
・関数kraskulの引数は(頂点数、辺集合)の順
・unionFindはランクバージョンを使用すること
*/

struct edge {
    int s, t;
    long long cost;
};

bool comp(const edge& left, const edge& right) {
    return left.cost < right.cost;
}

vector<edge> es;
long long kraskul(int N, vector<edge> es) {
    long long res = 0;

    unionFind tree(N);

    //sortを忘れないように!
    //compを忘れないように！
    sort(es.begin(), es.end(), comp);

    for (int i = 0; i < es.size(); i++) {
        edge e = es[i];
        if (!tree.isSame(e.s, e.t)) {
            res += e.cost;
            tree.unite(e.s, e.t);
        }
    }

    return res;
}

//max intはだいたい2e9
//max llはだいたい9e18

typedef pair<int, int> P;



const int INF = 1e8;
const long long LINF = 1e18;



int main() {
    int N;
    cin >> N;

    vll A(N), B(N);
    rep(i, N) cin >> A[i] >> B[i];

    ll sum = 0;

    rep(i, N) sum += (A[i] + B[i]) * (B[i] - A[i] + 1) / 2;

    cout << sum << endl;

    return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define endl     "\n"
#define pb       push_back
#define fastio   ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define ll       long long
#define all(v)   v.begin(),v.end()
ll sum[1000000+10]={};
int main()
{
    ll n, a , b, i, j;
    ll total=0,l,r;
    sum[0]=0;
    for(i=1;i<1000005;i++)
    {
        sum[i]=sum[i-1]+i;
    }
    cin>>n;

    while(n--)
    {
        cin>>l>>r;
        total=total+sum[r]-sum[l-1];
        //cout<<total<<endl;

    }
    cout<<total<<endl;

}




