#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool rcmp(int a, int b) { return a>b; } typedef long long LL; class mypcmp { public: bool operator()(const int& a, const int& b) { return a>=1; } return r; } int main() { int n, i, m, a, b; LL r, v, vv; scanf("%d %d", &n, &m); a = m/n; b = m%n; r=1; v=1; for (i=1; i<=m; i++) { v*=i; v%=MOD; if (i==a) { vv=expit(v, MOD-2); r*=expit(vv, n-b); r%=MOD; } else if (i==a+1&&b) { vv=expit(v, MOD-2); r*=expit(vv, b); r%=MOD; } } r*=v; r%=MOD; printf("%lld\n", r); return 0; }