#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) vector > dp(10001); int main(){ long long n, m; cin >> n >> m; n %= m * 1000; n /= 1000; dp[1].push_back(1); dp[1].push_back(1); FOR(i,1,10000){ FOR(j,0,i+2){ if(j == 0) dp[i+1].push_back(dp[i][j]); else if(j == i+1) dp[i+1].push_back(dp[i][i]); else dp[i+1].push_back(dp[i][j-1] + dp[i][j]); dp[i+1][j] %= 1000000000; } } if(n==0){ cout << 1 << endl; } else { cout << dp[m][n] << endl; } return 0; }