#include <iostream>
using namespace std;
#define int long long
const int MOD = 998244353;
int fac[5000005];
int inv[5000005];
int32_t main() {
int t, N;
cin >> t >> N;
fac[0] = inv[0] = 1;
fac[1] = inv[1] = 1;
for (int i = 2; i <= N; i++) {
fac[i] = 1LL * fac[i - 1] * i % MOD;
inv[i] = 1LL * (MOD - MOD / i) * inv[MOD % i] % MOD;
}
for (int i = 1; i <= N; i++)
inv[i] = 1LL * inv[i - 1] * inv[i] % MOD;
int ans = 0;
while (t--) {
int n, m;
cin >> n >> m;
int x = 1LL * fac[n] * inv[m] % MOD * inv[n - m] % MOD;
ans ^= x;
}
cout << ans << "\n";
return 0;
}