func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mo = 998244853;   const long long INF = 0x3f3f3f3f;   template <typename _T>   void read(_T &x) {     _T f = 1;     x = 0;     char s = getchar();     while (s >  9  || s <  0 ) {       if (s ==  - ) f = -1;       s = getchar();     }     while (s >=  0  && s <=  9 ) {       x = (x << 3) + (x << 1) + (s ^ 48);       s = getchar();     }     x *= f;   }   long long n, m, fac[4005], inv[4005], f[4005], ans, g[4005];   void init() {     fac[0] = inv[0] = fac[1] = inv[1] = f[1] = 1;     for (long long i = 2; i <= 4e3; i++) {       fac[i] = 1ll * fac[i - 1] * i % mo;       f[i] = 1ll * (mo - mo / i) * f[mo % i] % mo;       inv[i] = 1ll * inv[i - 1] * f[i] % mo;     }   }   long long C(long long x, long long y) {     if (x < 0 || y < 0 || x < y) return 0;     return 1ll * fac[x] * inv[y] % mo * inv[x - y] % mo;   }   signed main() {     init();     read(n);     read(m);     long long d = n - m < 0 ? 0 : n - m;     for (long long i = d; i <= n; i++) g[i] = C(n + m, n - m >= i ? n : n - i);     for (long long i = d; i <= n; i++)       (ans += i * (g[i] - g[i + 1] + mo) % mo) %= mo;     printf( %lld n , ans);     return 0;   }   