Little Cyan Fish forskar om en mängd av intervall.
I det här problemet använder vi $[l, r]$ för att beteckna intervallet $\{x \mid l \le x \le r\}$. En mängd $S$ som innehåller intervall $[l, r]$ sägs vara Cyanisk om och endast om följande tre villkor är uppfyllda:
- $S \subseteq \{[l, r] \mid l, r \in \mathbb{Z}, 0 \le l \le r \le n\}$. Det vill säga, varje element i $S$ är ett slutet intervall $[l, r]$ med heltalsändpunkter som ryms i $[0, n]$.
- För alla heltal $i \in [0, n]$ gäller att intervallet $[i, i] \in S$.
- För varje par av intervall $[l_0, r_0] \in S$ och $[l_1, r_1] \in S$ gäller att om $l_0 \le l_1 < r_0 \le r_1$, så måste intervallen $[l_0, l_1]$ och $[r_0, r_1]$ också tillhöra $S$.
För att hjälpa dig att förstå betraktar Little Cyan Fish följande scenarier för $n = 3$.
- Mängden $\{[0, 0], [2, 2]\}$ är inte en Cyanisk mängd. Intervallet $[1, 1] \notin S$, så det andra villkoret bryts.
- Mängden $\{[0, 0], [1, 1], [2, 2], [3, 3], [0, 2], [1, 3]\}$ är inte en Cyanisk mängd. När vi väljer $[l_0, r_0] = [0, 2]$ och $[l_1, r_1] = [1, 3]$ gäller att intervallet $[l_0, l_1] = [0, 1] \notin S$, så det tredje villkoret bryts.
- Mängden $\{[0, 0], [1, 1], [2, 2], [3, 3], [0, 2], [0, 1], [1, 2]\}$ är en Cyanisk mängd.
- Mängden $\{[0, 0], [1, 1], [2, 2], [3, 3], [0, 3], [1, 2]\}$ är också en Cyanisk mängd.
Naturligtvis finns det väldigt, väldigt många Cyaniska mängder, och Little Cyan Fish älskar dem alla. Låt $\mathcal{C}$ vara mängden av alla Cyaniska mängder. För ett givet heltal $q$ vill Little Cyan Fish veta summan:
$$\sum_{S \in \mathcal{C}} q^{|S|}$$
Eftersom summan kan bli enorm ber Little Cyan Fish dig att beräkna summan modulo $998\,244\,353$.
Indata
Den första raden i indata innehåller två heltal $n$ ($1 \le n \le 10^5$) och $q$ ($1 \le q < 998\,244\,353$).
Utdata
Skriv ut en enda rad som innehåller ett enda heltal som anger svaret.
Exempel
Indata 1
1 2
Utdata 1
12
Förklaring
För exempel 1: Det finns två Cyaniska mängder $\{[0, 0], [1, 1]\}$ och $\{[0, 0], [1, 1], [0, 1]\}$, så svaret är $2^2 + 2^3 = 12$.
Indata 2
3 1
Utdata 2
22
Indata 3
10 3
Utdata 3
855061512