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;
}