#L3714. 「AHOI2022」山河重整

「AHOI2022」山河重整

题目描述

生活在 998244353998244353 号小宇宙的艾和兰收到了归零者的讯息,决定响应回归运动。他们需要把大部分的物质归还给大宇宙,只留下极少的物质用于在新宇宙重建自己的文明。

艾和兰的文明总共有 nn 个关键信息,编号为 1,2,,n1, 2, \dots, n。他们需要保留的信息是这些关键信息的一个子集 SS。对于一个编号为 xx 的信息,只要 SS 中一些关键信息的总和等于 xx,那么他们设计的漂流瓶就可以在新宇宙将 xx 还原出来。

艾和兰不禁想要思考,他们有多少种选择子集 SS 的方案,使得关键信息 1,2,,n1,2,\dots, n 均能被还原?艾和兰自然是只用 11 微秒就算出了方案数的精确数值,现在他们想让你帮忙验算。由于方案数可能很大,你只需要输出方案数对 MM 取模的结果。

输入格式

一行输入两个正整数 NNMM

输出格式

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

样例 1

输入

4 1000000007

输出

3

总共有以下 33 个集合满足条件:

  • {1,2,3}\{1, 2, 3\}
  • {1,2,4}\{1, 2, 4\}
  • {1,2,3,4}\{1, 2, 3, 4\}

样例 2

输入

10 1000000007

输出

180

样例 3

输入

1000 65472

输出

2136

样例 4

输入

100000 100

输出

96

数据范围与提示

对于 100%100\% 的数据,保证 1N5×1051\leq N\leq 5\times 10^52M1.01×1092\leq M\leq 1.01\times 10^9

测试点编号 NN \le MM \le
1 ~ 2 20 1.01×1091.01 \times 10^9
3 ~ 4 100
5 ~ 6 5000
7 3×1053 \times 10^5 127
8 5×1055 \times 10^5
9 3×1053 \times 10^5 1.01×1091.01 \times 10^9
10 5×1055 \times 10^5