#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 5e6 + 3;
const int mod = 998244353;
int ans;
int n , m , t , maxn;
int infac[N] , fac[N] , inv[N];
void init(){
inv[1] = 1;
for(int i = 2 ; i <= maxn ; i++){
inv[i] = inv[mod % i] * (mod - mod / i) % mod;
}
fac[0] = 1;
for(int i = 1 ; i <= maxn ; i++){
fac[i] = fac[i - 1] * i % mod;
}
for(int i = 1 ; i <= maxn ; i++){
infac[i] = infac[i - 1] * inv[i] % mod;
}
}
int C(int x , int y){
int res = 1;
res = res * fac[x] * infac[y] % mod * infac[x - y] % mod;
return res;
}
signed main(){
ios::sync_with_stdio(0) , cin.tie(0) , cout.tie(0);
cin >> t >> maxn;
init();
while(t--){
cin >> n >> m;
ans = ans xor C(n , m);
}
cout << ans;
return 0;
}