#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; int main() { int N; long long int a, b, ans = 0; cin >> N; for (size_t i = 0; i < N; i++) { cin >> a >> b; for (size_t j = 0; j < b; j++) { ans += ((a + 1) / 2) % ((long long int)pow(10, 9) + 7); } ans %= (long long int)pow(10, 9) + 7; } cout << ans << endl; return 0; }