#include #include #include using namespace std; #define RREP(i,s,e) for (i = e-1; i >= s; i--) #define rrep(i,n) RREP(i,0,n) #define REP(i,s,e) for (i = s; i < e; i++) #define rep(i,n) REP(i,0,n) #define INF 1e8 typedef long long ll; int main() { int i, j, m, ans; ll n; vector dp[10000]; rep (i,10001) dp[i].resize(10001); cin >> n >> m; n /= 1000; n %= m; rep (i,m+1) { dp[i][0] = 1; REP (j,1,i+1) { dp[i][j] = dp[i-1][j-1] + dp[i-1][j]; dp[i][j] %= 1000000000; } } cout << dp[m][n] << endl; return 0; }