Jokaiselle kokonaisluvulle luvusta $1$ lukuun $N$ on yksi kyseisellä luvulla numeroitu laatikko. Lisäksi jokaiselle kokonaisluvulle luvusta $1$ lukuun $N$ on $M$ kyseisellä kokonaisluvulla numeroitua palloa.
Nämä $NM$ palloa sekoitetaan ja jaetaan sitten $N$ laatikkoon siten, että jokaiseen laatikkoon laitetaan täsmälleen $M$ palloa.
Pallot voidaan sijoittaa laatikoihin $\frac{(NM)!}{(M!)^N}$ eri tavalla (jos kaikki pallot katsotaan erotettaviksi toisistaan), ja kaikki nämä sijoittelut esiintyvät yhtä suurella todennäköisyydellä.
Suoritat näille laatikoille ja palloille operaatioita. Yksi operaatio koostuu seuraavista vaiheista:
- Valitse yksi laatikko ja mene sen eteen.
- Jos kyseisessä laatikossa ei ole yhtään palloa, lopeta operaatio.
- Valitse mikä tahansa pallo kyseisestä laatikosta ja heitä se pois laatikosta.
- Mene lopuksi sen laatikon eteen, jonka numero vastaa viimeksi pois heitetyn pallon numeroa, ja palaa vaiheeseen $2$.
Määritellään tuloksesi operaatioiden lukumääräksi, joka tarvitaan, kunnes kaikki $NM$ palloa on heitetty pois. Haluat minimoida tämän tuloksen.
Etsi tuloksen odotusarvo optimaalisesti toimittaessa modulo $998244353$.
Input
Ensimmäinen rivi sisältää luvut $N$ ja $M$ tässä järjestyksessä välilyönneillä erotettuina. ($1 \le N \le 10^5, 1 \le M \le 100$)
Output
Tulosta vastaus.
Examples
Input 1
2 2
Output 1
166374060
Input 2
3 1
Output 2
831870296
Input 3
100000 100
Output 3
402978825
Note
Ensimmäisessä esimerkissä mahdolliset pallojen sijoittelut ja niitä vastaavat optimaaliset toimintatavat ovat seuraavat:
- Laita kaksi numerolla $1$ merkittyä palloa laatikkoon $1$ ja kaksi numerolla $2$ merkittyä palloa laatikkoon $2$. (Todennäköisyys $1/6$)
- Mene ensimmäisessä operaatiossa laatikon $1$ eteen. Ota sieltä numerolla $1$ merkitty pallo ja mene laatikon $1$ eteen. Ota sitten toinen numerolla $1$ merkitty pallo ja mene jälleen laatikon $1$ eteen. Tässä vaiheessa laatikko $1$ on tyhjä, joten lopeta operaatio.
- Mene toisessa operaatiossa laatikon $2$ eteen. Ota sieltä numerolla $2$ merkitty pallo ja mene laatikon $2$ eteen. Ota sitten toinen numerolla $2$ merkitty pallo ja mene jälleen laatikon $2$ eteen. Tässä vaiheessa laatikko $2$ on tyhjä, joten lopeta operaatio.
- Tässä tapauksessa pienin saavutettavissa oleva tulos on $2$.
- Laita yksi numerolla $1$ merkitty pallo ja yksi numerolla $2$ merkitty pallo kumpaankin laatikoista $1$ ja $2$. (Todennäköisyys $2/3$)
- Mene ensimmäisessä operaatiossa laatikon $1$ eteen. Ota sieltä numerolla $1$ merkitty pallo ja mene laatikon $1$ eteen. Ota sitten numerolla $2$ merkitty pallo ja mene laatikon $2$ eteen. Ota sitten numerolla $2$ merkitty pallo ja mene laatikon $2$ eteen. Ota sitten numerolla $1$ merkitty pallo ja mene laatikon $1$ eteen. Tässä vaiheessa laatikko $1$ on tyhjä, joten lopeta operaatio.
- Tässä tapauksessa pienin saavutettavissa oleva tulos on $1$.
- Laita kaksi numerolla $2$ merkittyä palloa laatikkoon $1$ ja kaksi numerolla $1$ merkittyä palloa laatikkoon $2$. (Todennäköisyys $1/6$)
- Mene ensimmäisessä operaatiossa laatikon $1$ eteen. Ota sieltä numerolla $2$ merkitty pallo ja mene laatikon $2$ eteen. Ota sitten numerolla $1$ merkitty pallo ja mene laatikon $1$ eteen. Ota sitten numerolla $2$ merkitty pallo ja mene laatikon $2$ eteen. Ota sitten numerolla $1$ merkitty pallo ja mene laatikon $1$ eteen. Tässä vaiheessa laatikko $1$ on tyhjä, joten lopeta operaatio.
- Tässä tapauksessa pienin saavutettavissa oleva tulos on $1$.
Yhteenvetona pienin tulos on $2$ todennäköisyydellä $1/6$ ja pienin tulos on $1$ todennäköisyydellä $5/6$, joten odotettu kokonaistulos on $7/6$. Tulosta siis $166374060$, joka esittää tätä arvoa modulo $998244353$.
Odotusarvon modulo $998244353$ määritelmä
Voidaan todistaa, että etsittävä odotusarvo on aina rationaaliluku. Lisäksi tämän tehtävän rajoitusten puitteissa, jos odotusarvo kirjoitetaan supistettuna murtolukuna $\frac{y}{x}$, on taattu, että $x$ ei ole jaollinen luvulla $998244353$.
Tässä tapauksessa lukujen $0$ ja $998244352$ välillä (rajat mukaan lukien) on olemassa yksikäsitteinen kokonaisluku $z$, joka toteuttaa ehdon $xz \equiv y \pmod{998244353}$. Tulosta tämä $z$.