#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]; void pascal(int n){ dp[0]=dp[1]=1; REPS(i,2,n+1){ for(int j=i;j>0;--j){ dp[j] = (dp[j-1] + dp[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[R] << endl; return 0; }