细胞
题号:NC15708
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Shero在秘密基地有一个专门研究活骸化的实验室。
实验室里面有一排从0开始标号的培养皿,初始的时候只有0号培养皿中有1个细胞。
因为是虚拟实验,所以可以认为培养皿有无限个。
Shero观察发现,来自异世界的细胞分裂速度似乎要比的一般的细胞迅速得多:
具体来说,第n天第k个培养皿中会有2k x C(n,k)个细胞(异世界的细胞当然有能力到处跑啦
为了找到活骸化的原因,Shero给出了一个参数m,现在他想知道在第n天对于每一个0<=i<2m,所有下标mod 2m为i的培养皿中的细胞数量总和是多少

输入描述:

第一行两个正整数n,m

输出描述:

设ans[i]表示下标mod 2^m为i的培养皿中的细胞总数
一行一个正整数输出 mod 998244353的值
示例1

输入

复制
4 2

输出

复制
3738937

备注:

m<=20
n<=1018