#include <bits/stdc++.h>
using namespace std;
vector<int long long> fact(1000001);
int long long sm, a, b, n;
bool check() {
  int long long m = sm;
  while (m) {
    if (m % 10 != b && m % 10 != a) return 0;
    m /= 10;
  }
  return 1;
}
int long long inc(int long long t, int long long p) {
  if (p == 0) return 1;
  if (p % 2 == 0) {
    int long long e = inc(t, p / 2);
    return (e * e) % 1000003;
  } else {
    return (inc(t, p - 1) * t) % 1000003;
  }
}
int long long comb(int long long i, int long long m) {
  return (fact[m] *
          (inc(((fact[m - i] * fact[i]) % 1000003), 1000003 - 2) % 1000003)) %
         1000003;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie();
  cout.tie();
  int long long a, b;
  cin >> a >> b;
  fact[0] = fact[1] = 1;
  for (long long i = 2; i <= 1000000; i++)
    fact[i] = i * fact[i - 1], fact[i] %= 1000003;
  cout << comb(b, a + b) - 1 << endl;
}
