// yukicoder: No.146 試験監督(1) // 2019.4.11 bal4u #include #include #if 1 #define gc() getchar_unlocked() #else #define gc() getchar() #endif long long in() { int c = gc(); long long n = 0; do n = 10 * n + (c & 0xf), c = gc(); while (c >= '0'); return n; } #define M 1000000007 int main() { int N; long long c, d, ans; N = (int)in(); ans = 0; while (N--) { c = ((in()+1)>>1) % M, d = in() % M; ans += (c * d) % M; } printf("%d\n", (int)(ans % M)); return 0; }