#include #include using namespace std; using Mint = atcoder::modint1000000007; // sum j=0...e j p^(e-j) Mint sum2(Mint p, int e) { if (e == 1) return 1; if (!(e & 1)) return e + p * sum2(p, e - 1); return (1 + p.pow(e - e / 2)) * sum2(p, e / 2) + (e - e / 2) * (p.pow(e / 2 + 1) - 1) / (p - 1); } int main() { int L; cin >> L; Mint ret = 1; for (int i = 0; i < L; i++) { int p, e; cin >> p >> e; ret *= sum2(p, e + 1); } cout << ret.val() << endl; }