#P16262. [Noi2026赛前集训]异或和

[Noi2026赛前集训]异或和

题目描述

给定正整数 n,mn,m。令 A\mathcal A 为所有长度为 nn、每个元素均为 002m12^m-1 之间整数的序列构成的集合,即

$$\mathcal A= \left\{ (A_1,A_2,\ldots,A_n) \ \middle|\ 0\le A_i<2^m,\ i=1,2,\ldots,n \right\}.$$

对于任意序列

A=(A1,A2,,An)A,A=(A_1,A_2,\ldots,A_n)\in\mathcal A,

定义它的 Xor 优化值 为从其元素中选出任意子集所能得到的最大按位异或和,即

$$f(A)= \max_{S\subseteq\{1,2,\ldots,n\}} \left(\bigoplus_{i\in S}A_i\right),$$

其中 \oplus 表示按位异或运算(XOR),空集的异或和定义为 00

请计算所有可能序列的 Xor 优化值之和,并对 998244353998244353 取模:

AAf(A)(mod998244353).\sum_{A\in\mathcal A}f(A)\pmod{998244353}.

输入格式

输入一行两个正整数 n,mn,m

输出格式

输出一行一个整数,表示答案对 998244353998244353 取模后的结果。

样例 1

输入

2 1

输出

3

样例 2

输入

3 4

输出

52290

数据范围

对于所有数据:

1n1018,1m107.1\le n\le 10^{18}, \qquad 1\le m\le 10^7.
子任务编号 nn\le mm\le 分值
1 55 5
2 101810^{18} 66 10
3 100100
4 500500
5 50005000
6 10510^5 15
7 10610^6 20
8 10710^7