Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

combinatorics

math

*1700

No tag edit access

The problem statement has recently been changed. View the changes.

×
D. Count the Arrays

time limit per test

2 secondsmemory limit per test

512 megabytesinput

standard inputoutput

standard outputYour task is to calculate the number of arrays such that:

- each array contains $$$n$$$ elements;
- each element is an integer from $$$1$$$ to $$$m$$$;
- for each array, there is exactly one pair of equal elements;
- for each array $$$a$$$, there exists an index $$$i$$$ such that the array is strictly ascending before the $$$i$$$-th element and strictly descending after it (formally, it means that $$$a_j < a_{j + 1}$$$, if $$$j < i$$$, and $$$a_j > a_{j + 1}$$$, if $$$j \ge i$$$).

Input

The first line contains two integers $$$n$$$ and $$$m$$$ ($$$2 \le n \le m \le 2 \cdot 10^5$$$).

Output

Print one integer — the number of arrays that meet all of the aforementioned conditions, taken modulo $$$998244353$$$.

Examples

Input

3 4

Output

6

Input

3 5

Output

10

Input

42 1337

Output

806066790

Input

100000 200000

Output

707899035

Note

The arrays in the first example are:

- $$$[1, 2, 1]$$$;
- $$$[1, 3, 1]$$$;
- $$$[1, 4, 1]$$$;
- $$$[2, 3, 2]$$$;
- $$$[2, 4, 2]$$$;
- $$$[3, 4, 3]$$$.

Codeforces (c) Copyright 2010-2023 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Sep/25/2023 18:55:58 (l1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|