#include #include #define int long long using namespace std; using namespace atcoder; using mint = modint1000000007; // p^0 + ... + p^e mint sum0(mint p, int e) { return (p.pow(e + 1) - 1) / (p - 1); } // 0 * p^0 + ... + e * p^e mint sum1(mint p, int e) { mint res1 = p * (1 - p.pow(e)) / (p - 1) / (p - 1); mint res2 = e * p.pow(e + 1) / (p - 1); return res1 + res2; } signed main() { int L; cin >> L; mint ans = 1; while (L--) { int p, e; cin >> p >> e; ans *= sum0(p, e) * (e + 1) - sum1(p, e); } cout << ans.val() << endl; return 0; }