#include <bits/stdc++.h>

using namespace std;

#define REP(i,n) for(int i=0; i<(int)(n); i++)
#define FOR(i,b,e) for (int i=(int)(b); i<(int)(e); i++)
#define ALL(x) (x).begin(), (x).end()

const double PI = acos(-1);
const int MOD = 1e9;

int comb[10000+1][10000+1];

int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);

  long long n;
  int m;
  cin >> n >> m;

  n /= 1000;
  n %= m;

  for (int i = 0; i <= m; i++) {
    comb[i][0] = comb[i][i] = 1;
    for (int j = 1; j < i; j++) {
      comb[i][j] = comb[i-1][j-1] + comb[i-1][j];
      if (comb[i][j] >= MOD)
        comb[i][j] -= MOD;
    }
  }

  cout << comb[m][n] << endl;
  
  return 0;
}