#include<bits/stdc++.h>
#define limit 1000000007
#define ll long long
#define ull unsigned long long
#define nl '\n'
using namespace std;
ll mod(ll base, ll exp, ll mod){
ll res = 1;
while(exp){
if(exp % 2) res = (res * base) % mod;
base = (base * base) % mod;
exp /= 2;
}
return res;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
ll n,div=1,sum=1,num=1;
cin >> n;
for(ll i=0;i < n;i++){
ll x,k;
cin >> x >> k;
div = (div*(k+1)) % limit;
ll pw = mod(x,k + 1,limit) - 1;
sum = (sum*((pw % limit)/(x-1 % limit))) % limit;
num = (num * mod(x,k,limit)) % limit;
}
ll prd = mod(num,div/2,limit);
cout << div << " " << sum << " " << prd << '\n';
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsaW1pdCAxMDAwMDAwMDA3CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIG5sICdcbicKIAp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCmxsIG1vZChsbCBiYXNlLCBsbCBleHAsIGxsIG1vZCl7CiAgICBsbCByZXMgPSAxOwogICAgd2hpbGUoZXhwKXsKICAgICAgICBpZihleHAgJSAyKSByZXMgPSAocmVzICogYmFzZSkgJSBtb2Q7CiAgICAgICAgYmFzZSA9IChiYXNlICogYmFzZSkgJSBtb2Q7CiAgICAgICAgZXhwIC89IDI7CiAgICB9CiAgICByZXR1cm4gcmVzOwp9CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgbGwgbixkaXY9MSxzdW09MSxudW09MTsKICAgIGNpbiA+PiBuOwogICAgZm9yKGxsIGk9MDtpIDwgbjtpKyspewogICAgICBsbCB4LGs7CiAgICAgIGNpbiA+PiB4ID4+IGs7CiAgICAgIGRpdiA9IChkaXYqKGsrMSkpICUgbGltaXQ7CiAgICAgIGxsIHB3ID0gbW9kKHgsayArIDEsbGltaXQpIC0gMTsKICAgICAgc3VtID0gKHN1bSooKHB3ICUgbGltaXQpLyh4LTEgJSBsaW1pdCkpKSAlIGxpbWl0OwogICAgICBudW0gPSAobnVtICogbW9kKHgsayxsaW1pdCkpICUgbGltaXQ7CiAgICB9CiAgICBsbCBwcmQgPSBtb2QobnVtLGRpdi8yLGxpbWl0KTsKICAgIGNvdXQgPDwgZGl2IDw8ICIgIiA8PCBzdW0gPDwgIiAiIDw8IHByZCA8PCAnXG4nOwp9