/*
 *
 *
 * 
 */
#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;

}