#include #include #include #include using namespace std; const int mod = 1000000000; int main() { long long n, m; cin >> n >> m; long long atari = (n - (n / 1000 / m) * 1000 * m) / 1000; // cout << atari << endl; long long ans; if (n == 0) { ans = 0; } else{ ans = 1; long long small = min(atari, m - atari); vector left, right; for (int i = 0; i < small; i++) { left.push_back(m - i); right.push_back(i + 1); } for (int i = 0; i < small; i++) { for (int j = 0; j <= small; j++) { if (right[j] > 1 && left[i] % right[j] == 0) { left[i] /= right[j]; right[j] = 1; } } } for (int i = 0; i < small; i++) { ans *= left[i]; } for (int i = 2; i <= small; i++) { if (right[i] > 1) { ans /= right[i]; } } } ans %= mod; cout << ans << endl; return 0; }