Line 2 is wrong
#include<bits/stdc++.h>
#define fastIO (ios::sync_with_stdio(0),cin.tie(0))
#define inv(x) (qpow(x,Mod-2))
using namespace std;
const int N=5e6,Maxn=N+7,Mod=998244353;
typedef long long ll;
ll _,n,m,ans;
ll fac[Maxn],invFac[Maxn],pow5[Maxn],invPow6[Maxn];
//ans=n!*inv((n-m)!)*inv(m!)*5^(n-m)*inv(6^n)
ll qpow(ll a,ll b){
if(b==0)return 1;
ll tmp=qpow(a,b>>1);
if(b&1)return tmp*a%Mod*tmp%Mod;
return tmp*tmp%Mod;
}
int main()
{
fastIO;
cin>>_;
fac[0]=pow5[0]=1;
for(int i=1;i<=N;i++){
fac[i]=fac[i-1]*i%Mod;
pow5[i]=pow5[i-1]*5%Mod;
}
invFac[N]=inv(fac[N]);
invPow6[N]=inv(qpow(6,N));
for(int i=N;i>1;i--){
invFac[i-1]=invFac[i]*i%Mod;
invPow6[i-1]=invPow6[i]*6%Mod;
}
while(_--){
cin>>n>>m;
ans^=fac[n]*invFac[n-m]%Mod*invFac[m]%Mod
*pow5[n-m]%Mod*invPow6[n]%Mod;
}
cout<<"tou\n"<<ans;
return 0;
}