#include 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; }