Universal Cup Judging System

Universal Cup

時間限制: 3.0 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓
统计

Það er einn kassi merktur hverri heiltölu frá $1$ til $N$. Einnig eru, fyrir hverja heiltölu frá $1$ til $N$, $M$ kúlur merktar þeirri heiltölu.

Þessum $NM$ kúlum er stokkað saman og síðan dreift í kassana $N$, þannig að nákvæmlega $M$ kúlur fara í hvern kassa.

Það eru $\frac{(NM)!}{(M!)^N}$ mögulegar leiðir til að raða kúlunum (ef allar kúlur eru taldar aðgreinanlegar), og allar þessar uppröðanir koma fyrir með jöfnum líkum.

Þú munt framkvæma aðgerðir á þessum kössum og kúlum. Ein aðgerð samanstendur af eftirfarandi skrefum:

  1. Veldu einn kassa og farðu fyrir framan þann kassa.
  2. Ef það er engin kúla í þeim kassa skaltu ljúka aðgerðinni.
  3. Veldu hvaða kúlu sem er úr þeim kassa og fleygðu henni út fyrir kassann.
  4. Að lokum skaltu fara fyrir framan kassann sem hefur sömu merkingu og kúlan sem síðast var fleygt, og fara aftur í skref $2$.

Skilgreindu skor þitt sem fjölda aðgerða sem þarf þar til öllum $NM$ kúlunum hefur verið fleygt. Þú vilt lágmarka þetta skor.

Finndu væntigildi skorsins þegar þú hegðar þér á besta mögulega hátt, modulo $998244353$.

Input

Fyrsta línan inniheldur $N$ og $M$ í þessari röð, aðskilin með bilum. ($1 \le N \le 10^5, 1 \le M \le 100$)

Output

Prentaðu svarið.

Examples

Input 1

2 2

Output 1

166374060

Input 2

3 1

Output 2

831870296

Input 3

100000 100

Output 3

402978825

Note

Fyrir fyrsta dæmið eru mögulegar uppröðanir kúlnanna og samsvarandi bestu aðferðir sem hér segir:

  • Setja tvær kúlur merktar $1$ í kassa $1$, og tvær kúlur merktar $2$ í kassa $2$. (Líkur $1/6$)
    • Í fyrstu aðgerðinni ferðu fyrir framan kassa $1$. Þaðan tekurðu kúlu merkta $1$ og ferð fyrir framan kassa $1$. Síðan tekurðu aðra kúlu merkta $1$ og ferð aftur fyrir framan kassa $1$. Á þessum tímapunkti er kassi $1$ tómur, svo þú lýkur aðgerðinni.
    • Í annarri aðgerðinni ferðu fyrir framan kassa $2$. Þaðan tekurðu kúlu merkta $2$ og ferð fyrir framan kassa $2$. Síðan tekurðu aðra kúlu merkta $2$ og ferð aftur fyrir framan kassa $2$. Á þessum tímapunkti er kassi $2$ tómur, svo þú lýkur aðgerðinni.
    • Í þessu tilviki er lægsta mögulega skorið $2$.
  • Setja eina kúlu merkta $1$ og eina kúlu merkta $2$ í hvorn um sig af kassa $1$ og kassa $2$. (Líkur $2/3$)
    • Í fyrstu aðgerðinni ferðu fyrir framan kassa $1$. Þaðan tekurðu kúlu merkta $1$ og ferð fyrir framan kassa $1$. Síðan tekurðu kúlu merkta $2$ og ferð fyrir framan kassa $2$. Síðan tekurðu kúlu merkta $2$ og ferð fyrir framan kassa $2$. Síðan tekurðu kúlu merkta $1$ og ferð fyrir framan kassa $1$. Á þessum tímapunkti er kassi $1$ tómur, svo þú lýkur aðgerðinni.
    • Í þessu tilviki er lægsta mögulega skorið $1$.
  • Setja tvær kúlur merktar $2$ í kassa $1$, og tvær kúlur merktar $1$ í kassa $2$. (Líkur $1/6$)
    • Í fyrstu aðgerðinni ferðu fyrir framan kassa $1$. Þaðan tekurðu kúlu merkta $2$ og ferð fyrir framan kassa $2$. Síðan tekurðu kúlu merkta $1$ og ferð fyrir framan kassa $1$. Síðan tekurðu kúlu merkta $2$ og ferð fyrir framan kassa $2$. Síðan tekurðu kúlu merkta $1$ og ferð fyrir framan kassa $1$. Á þessum tímapunkti er kassi $1$ tómur, svo þú lýkur aðgerðinni.
    • Í þessu tilviki er lægsta mögulega skorið $1$.

Í stuttu máli er lægsta skorið $2$ með líkum $1/6$, og lægsta skorið er $1$ með líkum $5/6$, þannig að væntigildi skorsins í heild er $7/6$. Því skal prenta $166374060$, sem táknar þetta gildi modulo $998244353$.

Skilgreining á væntigildi modulo $998244353$

Hægt er að sanna að væntigildið sem finna á er alltaf ræð tala. Einnig, undir skorðum þessa verkefnis, ef væntigildið er skrifað sem fullstytt brot $\frac{y}{x}$, er tryggt að $x$ sé ekki deilanlegt með $998244353$.

Í þessu tilviki er til ótvírætt ákvörðuð heiltala $z$ á milli $0$ og $998244352$, báðar tölur meðtaldar, sem uppfyllir $xz \equiv y \pmod{998244353}$. Prentaðu þetta $z$.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1526EditorialOpen题解jianglyView

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.