MOD = 998244353 K = int(input()) X = [list(map(int,input().split())) for _ in range(K)] L = [X[i][0] for i in range(K)] M = [X[i][1] for i in range(K)] N = 0 for i in range(K): N += L[i]*M[i] nume = 1 for i in range(2,N+1): nume = (nume*i)%MOD deno = 1 j = 0 a = 1 for i in range(1,L[K-1]+1): a = a*i if i==L[j]: deno = (deno*pow(a,M[j],MOD))%MOD j += 1 M = sorted(M) C = {} for i in range(K): if M[i] not in C: C[M[i]] = 0 C[M[i]] += 1 C = sorted(list(C.items()),key=lambda x:x[0]) j = 0 b = 1 for i in range(1,M[K-1]+1): b = b*i if i==C[j][0]: deno = (deno*pow(b,C[j][1],MOD))%MOD j += 1 ans = (nume*pow(deno,MOD-2,MOD))%MOD print(ans)