M = int(input()) N = [tuple(map(int, input().split())) for _ in range(M)] N_mod = 0 mod = 998244353 N_mod3 = 0 k = 0 for v, l in N[::-1]: N_mod += pow(10, k, mod) * (pow(10, l, mod) - 1) * pow(9, mod - 2, mod) * v % mod N_mod %= mod N_mod3 += v * l k += l N_mod3 %= 3 N_mod5 = N[-1][0] % 5 N_mod15 = 0 for i in range(15): if i % 3 == N_mod3 and i % 5 == N_mod5: N_mod15 = i N_cnt3 = (N_mod - N_mod3) * pow(3, mod - 2, mod) % mod N_cnt5 = (N_mod - N_mod5) * pow(5, mod - 2, mod) % mod N_cnt15 = (N_mod - N_mod15) * pow(15, mod - 2, mod) % mod c_nm = 0 """ for i in range(1, k - 1): # i 桁で 3 でも 5 でも割り切れない整数の個数 # i = 1 なら 5 # i > 1 なら 48 * 10 ** (i - 2) if i == 1: c_nm += 5 else: c_nm += i * 48 * pow(10, i - 2, mod) % mod c_nm %= mod """ if k > 1: c_nm += (4 * (9 * k - 10) * pow(10, k, mod) + 175) * pow(675, mod - 2, mod) # k 桁のとき kk_c = N_mod - (N_cnt3 + N_cnt5 - N_cnt15) kk_c %= mod if k > 1: kk_c -= (8 * pow(10, k - 1, mod) - 5) * pow(15, mod - 2, mod) kk_c %= mod ans = 0 ans += N_cnt3 * 4 + N_cnt5 * 4 ans += c_nm ans += kk_c * k ans %= mod print(ans)