#include <bits/stdc++.h>
using namespace std;
int MOD = 1e6 + 3;
long long modpow(long long x, long long n, long long m) {
  if (n == 0) return 1 % m;
  long long u = modpow(x, n / 2, m);
  u = (u * u) % m;
  if (n % 2 == 1) u = (u * x) % m;
  return u;
}
vector<long long> nfact(800000);
long long ncr(long long n, long long r) {
  if (r > n) return 0;
  long long d1 = modpow(nfact[r], MOD - 2, MOD);
  long long d2 = modpow(nfact[n - r], MOD - 2, MOD);
  long long mult = (d1 * d2) % MOD;
  return (nfact[n] * mult) % MOD;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n, c;
  cin >> n >> c;
  nfact[0] = 1;
  for (int i = 1; i < 800000; i++) {
    nfact[i] = nfact[i - 1] * i;
    nfact[i] %= MOD;
  }
  long long ans = ncr(n + c, c);
  ans--;
  if (ans < 0) ans += MOD;
  cout << ans;
  return 0;
}
