/* * * * */ #include <bits/stdc++.h> using namespace std; #define INT_UB (998244353) #define INV24 (291154603) int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); //1変数入力 int64_t N; cin >> N ; vector<int64_t> T(N); vector<int64_t> S(N+1,0); vector<int64_t> V(N); for(int i = 0;i<N;i++) { cin>>T[i] >> V[i]; T[i] = T[i]%INT_UB; S[i+1]=(S[i]+T[i])%INT_UB; } int64_t A = S[N]; int64_t ans = 0; for(int i = 0;i<N;i++) { int64_t buf = 0; buf = (-(A-S[i]+1)*8+S[i]*10)%INT_UB; buf = (buf+S[i]*S[i]*6+T[i]*9)%INT_UB; buf = (buf+S[i]*T[i]*18+2)%INT_UB; buf = (buf+((S[i]*S[i]*6)%INT_UB)*T[i])%INT_UB; buf = (buf+((T[i]*T[i]*10)%INT_UB))%INT_UB; buf = (buf - (((A-S[i]+1)*T[i])%INT_UB)*T[i]*4)%INT_UB; buf = (buf+((S[i]*T[i])%INT_UB)*(T[i]*8-(A-S[i]+1)*12))%INT_UB; buf = (buf+((T[i]*T[i])%INT_UB)*T[i]*3)%INT_UB; buf = (buf-(((A-S[i]+1)*S[i])%INT_UB)*S[i]*12)%INT_UB; buf = (buf-((A-S[i]+1)*(S[i]*2+T[i])%INT_UB)*12)%INT_UB; buf = -buf*T[i]%INT_UB; buf = (buf*INV24)%INT_UB; buf = buf*V[i]%INT_UB; ans = (ans + buf)%INT_UB; } cout << ans; }