package main import . "fmt" import . "math/big" func main() { var n, m int Scan(&n,&m) if n == 1 { Println(1) return } const V = 1e6 const Mod = 998244353 a := make([]int, V+1) a[0] = 1 for i := range a[1:] { a[i+1] = a[i]*(i+1)%Mod } b := make([]int, V+1) z := new(Int).ModInverse(NewInt(int64(a[V])), NewInt(Mod)) b[V] = int(z.Int64()) for i := range b[1:] { j := V - i b[j-1] = b[j]*j%Mod } d := m / n ans := a[m] for i := 0; i < n; i++ { if i < m % n { ans = ans * b[d+1] % Mod } else { ans = ans * b[d] % Mod } } Println(ans) }