问题描述
有多少个由非负整数组成的集合S,其中整数的取值范围在0到2N−1之间(包括两端),满足以下条件?以998244353为模输出计数。
- S的每一个非空子集T满足以下至少一条:
- T中元素的数量是奇数。
- T中元素的按位异或不等于0。
什么是按位异或(XOR)?
非负整数A和B的按位异或运算AoplusB定义如下:
- 当以二进制表示时,AoplusB的第2k位(kgeq0)的数字为1,当且仅当A和B在该位上只有一个数字为1,否则为0。
例如,我们有3oplus5=6(二进制表示为011oplus101=110)。
一般来说,非负整数p1,p2,p3,dots,pk的按位异或运算定义为$(\\dots ((p_1 \\oplus p_2) \\oplus p_3) \\oplus \\dots \\oplus p_k)$。我们可以证明,这个值与p1,p2,p3,dots,pk的顺序无关。
约束条件
- 1leNle2times105
- 输入中的所有值均为整数。
输入
从标准输入读入输入数据,输入格式如下:
N
输出
打印答案。
示例输入1
2
示例输出1
15
满足条件的集合有lbrace0,2,3rbrace、lbrace1rbrace和空集lbracerbrace。
而lbrace0,1,2,3rbrace不满足条件。
这是因为lbrace0,1,2,3rbrace的子集lbrace0,1,2,3rbrace的元素数量为偶数,它们的按位异或结果为0。
示例输入2
146
示例输出2
743874490