يجري السمك السياني الصغير (Little Cyan Fish) بحثاً حول مجموعة من الفترات.
في هذه المسألة، نستخدم $[l, r]$ للإشارة إلى الفترة $\{x \mid l \le x \le r\}$. بالنسبة لمجموعة $S$ تحتوي على فترات $[l, r]$، يُقال إنها سيانية (Cyanic) إذا وفقط إذا تحققت الشروط الثلاثة التالية:
- $S \subseteq \{[l, r] \mid l, r \in \mathbb{Z}, 0 \le l \le r \le n\}$. أي أن كل عنصر في $S$ هو فترة مغلقة $[l, r]$ ذات طرفين صحيحين ومحتواة في $[0, n]$.
- لجميع الأعداد الصحيحة $i \in [0, n]$، فإن الفترة $[i, i] \in S$.
- لأي فترتين $[l_0, r_0] \in S$ و $[l_1, r_1] \in S$، إذا كان $l_0 \le l_1 < r_0 \le r_1$، فيجب أن تنتمي الفترتان $[l_0, l_1]$ و $[r_0, r_1]$ أيضاً إلى $S$.
لمساعدتك على الفهم، يدرس السمك السياني الصغير الحالات التالية عندما $n = 3$.
- المجموعة $\{[0, 0], [2, 2]\}$ ليست مجموعة سيانية. الفترة $[1, 1] \notin S$، لذا يتم انتهاك الشرط الثاني.
- المجموعة $\{[0, 0], [1, 1], [2, 2], [3, 3], [0, 2], [1, 3]\}$ ليست مجموعة سيانية. عندما نختار $[l_0, r_0] = [0, 2]$ و $[l_1, r_1] = [1, 3]$، فإن الفترة $[l_0, l_1] = [0, 1] \notin S$، لذا يتم انتهاك الشرط الثالث.
- المجموعة $\{[0, 0], [1, 1], [2, 2], [3, 3], [0, 2], [0, 1], [1, 2]\}$ هي مجموعة سيانية.
- المجموعة $\{[0, 0], [1, 1], [2, 2], [3, 3], [0, 3], [1, 2]\}$ هي أيضاً مجموعة سيانية.
بالطبع، هناك الكثير والكثير من المجموعات السيانية، والسمك السياني الصغير يحبها جميعاً. لتكن $\mathcal{C}$ هي مجموعة جميع المجموعات السيانية. لعدد صحيح معطى $q$، يريد السمك السياني الصغير معرفة المجموع:
$$\sum_{S \in \mathcal{C}} q^{|S|}$$
نظراً لأن المجموع قد يكون ضخماً، يطلب منك السمك السياني الصغير حساب المجموع بباقي القسمة على $998\,244\,353$.
الإدخال
يحتوي السطر الأول من الإدخال على عددين صحيحين $n$ ($1 \le n \le 10^5$) و $q$ ($1 \le q < 998\,244\,353$).
الإخراج
اطبع سطراً واحداً يحتوي على عدد صحيح واحد يشير إلى الإجابة.
أمثلة
الإدخال 1
1 2
الإخراج 1
12
توضيح
بالنسبة للمثال 1: توجد مجموعتان سيانيتان $\{[0, 0], [1, 1]\}$ و $\{[0, 0], [1, 1], [0, 1]\}$، لذا فإن الإجابة هي $2^2 + 2^3 = 12$.
الإدخال 2
3 1
الإخراج 2
22
الإدخال 3
10 3
الإخراج 3
855061512