#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
typedef struct{
    long long topki;
    long long teglo;
}snowman;
typedef struct{
    int x;
    int y;
}point;
long long count_weight(){
    long long n;
    long long sum=0;
    cin >> n;
    long long p,m;
    snowman a[n];
    cin >> p>>m;
    if(m>0){
          a[0].topki = p+1;
          a[0].teglo=m;

        }else if(m==0){
            a[0].topki =0;
            a[0].teglo=0;

        }
    for(int i = 1;i<n;i++){
        long long lastp = p;
        long long lastm = m;
        cin >> p>>m;
        if(m>0){
          a[i].topki = p+1;
          a[i].teglo=a[i-1].teglo+m;

        }else if(m==0){
            a[i].topki = p-1;
            a[i].teglo=a[i-1].teglo-lastm;

        }
    }
    for(int i = 0;i<n;i++){
        if(a[i].topki!=0){
            sum+=a[i].teglo;
        }
    }
    return sum;
}
long long even(){
    long long n;
    cin >>n;
    long long a[n];
    long long ins;
    for(long long i=0;i<n;i++){
        cin>>ins;
        a[i]=ins;
    }
    long long calc=0;
    long long sum=0;
    for(long long i=0;i<n;i++){
            if(a[i]%2==0){
                sum++;
            }
            calc=a[i];
        for(long long j=i+1;j<n;j++){
                calc*=a[j];

            if(calc%2==0){
                sum++;
            }

        }
        calc =0;
    }
    return sum;

}
int points(){
    int n,x,y,sum=0;
    cin >>n;
    point a[n];
    for(int i=0; i<n;i++){
        cin>>x>>y;
        a[i].x = x;
        a[i].y = y;
    }
    for(int i=0;i<n-1;i++){
        for(int j=i+1;j<n;j++){
                int xsum = (a[i].x-a[j].x)*(a[i].x-a[j].x);
                int ysum = (a[i].y-a[j].y)*(a[i].y-a[j].y);
            sum+=xsum+ysum;
        }
    }
    return sum;

}
int main(){
    cout<<count_weight();
    return 0;
}
