import std; void main() { int L; readf("%d\n", L); ulong M = 10 ^^ 9 + 7; ulong res = 1; foreach (_; 0 .. L) { ulong P, e; readf("%d %d\n", P, e); ulong inv = powmod(P-1, M-2, M); ulong num = (M + powmod(P, e+1, M) - 1) % M; num = (num * inv) % M; num = (num * P % M + M - e - 1) % M; num = (num * inv) % M; res = (res * num) % M; } res.writeln; }