#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; #define MOD 1000000007 // 10^9 + 7 #define INF 1000000000 // 10^9 #define LLINF 1LL<<60 ll Com[10009][10009]; // C[n][k] = nCk void combination_table(int N) { for (int i = 0; i <= N; i++) { for (int j = 0; j <= i; j++) { if (j == 0 || j == i) Com[i][j] = 1LL; else Com[i][j] = (Com[i - 1][j] + Com[i - 1][j - 1]) % INF; } } } int main() { cin.tie(0); ios::sync_with_stdio(false); ll N, M; cin >> N >> M; N /= 1000; N = N % M; combination_table(M); cout << Com[M][min(N, M - N)] << endl; return 0; }