复习了一下卡特兰数。。



#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
#define mk make_pair
#define PII pair<int, int>
#define y1 skldjfskldjg
#define y2 skldfjsklejg
using namespace std;

const int N = 2e6 + 7;
const int M = 5e5 + 7;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const int mod = 20100403;
const int B = 1e5;

int n, m;
LL inv[N], comb[N];

void init(int n) {
inv[1] = 1;
for(int i = 2; i <= n; i++)
inv[i] = (mod-mod/i) * inv[mod%i] % mod;
comb[0] = 1;
for(int i = 1; i <= n; i++)
comb[i] = comb[i - 1] * (n - i + 1) % mod * inv[i] % mod;
}

int main() {
scanf("%d%d", &n, &m);
init(n + m);
if(m > n) {
puts("0");
} else {
printf("%lld\n", (comb[m] - comb[m - 1] + mod) % mod);
}
return 0;
}