#include <bits/stdc++.h>
using namespace std;
long long pow(int a, int b, int MOD) {
  long long x = 1, y = a;
  while (b > 0) {
    if (b % 2 == 1) {
      x = (x * y);
      if (x > MOD) x %= MOD;
    }
    y = (y * y);
    if (y > MOD) y %= MOD;
    b /= 2;
  }
  return x;
}
long long InverseEuler(int n, int MOD) { return pow(n, MOD - 2, MOD); }
long long C(int n, int r, int MOD) {
  vector<long long> f(n + 1, 1);
  for (int i = 2; i <= n; i++) f[i] = (f[i - 1] * i) % MOD;
  return (f[n] *
          ((InverseEuler(f[r], MOD) * InverseEuler(f[n - r], MOD)) % MOD)) %
         MOD;
}
int main() {
  std::ios::sync_with_stdio(false);
  long long n, c;
  cin >> n >> c;
  cout << C(n + c, c, 1000003) - 1;
  return 0;
}
