#define _crt_secure_no_warnings #ifndef _GLIBCXX_NO_ASSERT #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif using namespace std; #define M_PI 3.14159265358979 int main(){ int N; cin >> N; vectordata; data.resize(N); int a, b; int max_ = -1; int f = -1; for (size_t i = 0; i < N; i++) { cin >> a >> b; data[i] = a + 4 * b; max_ = max(max_, data[i]); if (f == -1)f = a % 2; if (f != a % 2) { cout << -1 << endl; return 0; } } long long ans = 0; for (size_t i = 0; i < N; i++) { ans += max_ - data[i]; } cout << ans / 2 << endl; return 0; }