#include<bits/stdc++.h>

using namespace std;
using ll = long long;

const ll MOD = 998244353;

ll adjust(ll n){
	n %= MOD;
	n += MOD;
	n %= MOD;
	return n;
}

ll add(ll a,ll b){
	return adjust(a + b);
}

ll mul(ll a,ll b){
	return adjust(a * b);
}

ll pow(ll a,ll b){
	ll res = 1;
	while(b > 0){
		if(b % 2 == 1){
			res = mul(res, a);
		}
		a = mul(a, a);
		b /= 2;
	}
	return res;
}

ll inv(ll n){
	return pow(n, MOD-2);
}

ll factorial(ll n){
	ll res = 1;
	for(ll i=2;i<=n;++i){
		res = mul(res, i);
	}
	return res;
}

ll rect(ll h,ll w){
	ll up = 1;
	ll down = 1;
	for(int i=1;i<=h;++i){
		for(int j=0;j<w-1;++j){
			up = mul(up, h * w - (i - 1) * w - 1 - j);
			down = mul(down, j + 1);
		}
	}
	return mul(up, inv(down));
}

int main(){
	int k;
	cin >> k;
	ll ans = 1;
	ll sum = 0;
	for(int i=0;i<k;++i){
		ll l;
		ll m;
		cin >> l >> m;
		sum += l * m;
		ans = mul(ans, rect(m,l));
		ans = mul(ans, inv(factorial(l * m)));
	}
	ans = mul(ans, factorial(sum));
	cout << ans << endl;
}