#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(I,A,B) for(int I = (A); I < (B); ++I) long long dp[10001][10002]; int main(){ long long n, m; cin >> n >> m; n /= 1000; n %= m; FOR(i,0,10001){ FOR(j,0,10002){ dp[i][j] = 0; } } dp[1][0] = dp[1][1] = 1; FOR(i,1,10000){ FOR(j,0,10002){ if(j == 0) dp[i+1][j] = dp[i][j]; else if(j == i) dp[i+1][j] = dp[i][i-1]; else dp[i+1][j] = dp[i][j-1] + dp[i][j]; dp[i+1][j] %= 1000000000; } } if(n==0){ cout << 1 << endl; } else { cout << dp[n][m] << endl; } return 0; }