#include long long int sum,n,m,r; int gcd( int a, int b){ if(b == 0){ return a; } if(a > b){ return gcd(b,a%b); }else{ return gcd(a,b%a); } } int C(int n, int r){ int i, j, tr; int tmp[10010]={0}; sum = 1; if( n < r ){return 0;} for(i=0;i<10010;i++){ tmp[i] = 1; } for(i=n;i>1;i--){ if( r == i ){break;} if( (n-r) == i ){break;} tmp[i] = i; } tr = n-i; for(i=2;i<=tr;i++){ int ti=i; for(j=2;j<=n;j++){ int g = gcd(tmp[j], ti); if( g != 1){ tmp[j] /= g; ti /= g; } if(ti == 1){ break; } } } for(i=1;i<=n;i++){ if(tmp[i] != 0){ sum = (sum*tmp[i])% 1000000000; } } return (int)(sum); } int main(void){ scanf("%lld", &n); scanf("%lld", &m); r = (n / 1000) % m; printf("%d\n", C((int)m,(int)r)); return 0; }