package main
import (
"bufio"
"fmt"
"os"
)
const MOD int64 = 998244353
func modPow(a, e int64) int64 {
res := int64(1)
for e > 0 {
if e&1 == 1 {
res = res * a % MOD
}
a = a * a % MOD
e >>= 1
}
return res
}
func main() {
in := bufio.NewReaderSize(os.Stdin, 1<<20)
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
var n, m int
fmt.Fscan(in, &n, &m)
if n == 2 {
fmt.Fprintln(out, 0)
return
}
fact := make([]int64, m+1)
invFact := make([]int64, m+1)
fact[0] = 1
for i := 1; i <= m; i++ {
fact[i] = fact[i-1] * int64(i) % MOD
}
invFact[m] = modPow(fact[m], MOD-2)
for i := m; i >= 1; i-- {
invFact[i-1] = invFact[i] * int64(i) % MOD
}
comb := fact[m] * invFact[n-1] % MOD * invFact[m-(n-1)] % MOD
ans := comb * int64(n-2) % MOD * modPow(2, int64(n-3)) % MOD
fmt.Fprintln(out, ans)
}