#include <iostream>
#include <iomanip>

#include <algorithm>
#include <math.h>

#include <string>
#include <list>
/////////
#define REP(i, x, n) for(int i = x; i < n; i++)
#define rep(i,n) REP(i,0,n)
#define P(p) cout<<(p)<<endl;
/////////
typedef long long LL;
typedef long double LD;
/////////
using namespace::std;
/////////

int main(void){
    cin.tie(0);
    ios::sync_with_stdio(false);
    cout << fixed;//
    //cout << setprecision(6);//

    int N;//[2,1000]
	cin>>N;
	int a[1000],b[1000];
	rep(i,N){
		cin>>a[i]>>b[i];//[0,10^7]
	}
	///////////
	int count = 0;
	int temp  = 0;
	int max   = a[0] + 4*b[0];

	for(int i=1;i<N;++i){
		temp = a[i] + 4*b[i];
		if(max < temp ){
			if((temp-max)%2 == 1){
				P(-1);return 0;
			}else{
				count += i*(temp-max)/2;
				max = temp;
			}
		}
		else if( max == temp){

		}
		else if( max > temp){
			if( (max-temp)%2 == 1){
				P(-1);return 0;
			}
			else{
				count += (max-temp)/2;
			}
		}
	}
	P(count);

    return 0;
}