#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[10008];
const int p=10007;
void init()
{
f[0]=1;
for(int i=1;i<=10007;i++)
f[i]=(f[i-1]*i)%p;
}
ll pow(ll a,int b)
{
ll ans=1;
while(b)
{
if(b&1)
ans=ans*a%p;
a=a*a%p;
b>>=1;
}
return ans;
}
ll C(ll a,int b)
{
if(b>a)
return 0;
return f[a]*(pow(f[b]*f[a-b],p-2))%p;
}
ll lucas(ll n,ll m)
{
if(m==0)
return 1;
else return (C(n%p,m%p)*lucas(n/p,m/p))%p;
}
int main()
{
ll n,m;
while(~scanf("%lld %lld",&n,&m))
{
init();
printf("%lld\n",lucas(m,n));
}
}