#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, p, ans;
int a[200005], b[200005];
int jc[10005];
int kasumi(int a, int b, int p) {
int ans = 1;
while(b) {
if(b & 1) ans *= a, ans %= p;
a *= a;
a %= p;
b >>= 1;
}
return ans;
}
int C(int n, int k, int p) {
if(n < k) return 0;
return jc[n] * kasumi(jc[k] * jc[n - k] % p, p - 2, p) % p;
}
signed main() {
freopen("BBQ.in", "r", stdin);
freopen("BBQ.out", "w", stdout);
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> p;
jc[1] = jc[0] = 1;
for(int i = 2; i <= 8005; i++) {
jc[i] = jc[i - 1] * i % p;
}
for(int i = 1; i <= n; i++) {
cin >> a[i] >> b[i];
for(int j = i - 1; j >= 1; j--) {
ans += C(a[i] + a[j] + b[i] + b[j], a[i] + a[j], p) % p;
ans %= p;
}
}
cout << ans << endl;
return 0;
}