#include <bits/stdc++.h>
using namespace std;
const int maxn = 7e5 + 42;
const int M = 1e6 + 3;
int f[maxn];
void exgcd(int a, long long& x, int b, long long& y, long long& g) {
  if (!b) {
    g = a;
    x = 1;
    y = 0;
  } else {
    exgcd(b, y, a % b, x, g);
    y -= a / b * x;
  }
}
int inv(int a) {
  long long x, y, g;
  exgcd(a, x, M, y, g);
  return ((x % M) + M) % M;
}
int add(int a, int b) { return (a += b) >= M ? a - M : a; }
int mul(int a, int b) { return a * 1LL * b % M; }
int _div(int a, int b) { return mul(a, inv(b)); }
void build() {
  f[0] = 1;
  for (int i = 1; i < maxn; ++i) f[i] = mul(i, f[i - 1]);
}
int C(int n, int k) { return _div(_div(f[n], f[k]), f[n - k]); }
int main() {
  ios_base::sync_with_stdio(false);
  build();
  int n, k;
  cin >> k >> n;
  int ans = 0;
  for (int i = 1; i <= k; ++i) ans = add(ans, C(n + i - 1, i));
  cout << ans << '\n';
}
