#include #include #include #include #include #include #include #include using namespace std; #define REP(i,n) for(int i=0;i<(n);++i) #define REPS(i,s,t) for(int i=(s);i<(t);++i) #define INF 2000000007 #define MOD 1000000000 #define MAX 100005 typedef unsigned int uint; typedef unsigned long long int ull; typedef long long int ll; int dp[MAX][MAX]; void pascal(int n){ dp[1][1]=1; REPS(i,2,n+1){ REP(j,n+1){ dp[i][j] = (dp[i-1][j-1] + dp[i-1][j])%MOD; } } } int main(){ ull N;cin>>N; int M;cin>>M; N /= 1000; int R = N%M; R = min(R,M-R); // M C R pascal(M); cout << dp[M][R] << endl; return 0; }