#abc284g. [abc284_g]Only Once

[abc284_g]Only Once

题目描述

对于一个长度为 NN 的序列 A=(A1,A2,dots,AN)A = (A_1,A_2,\\dots,A_N),其中的整数取值范围是 11NN,包括边界值,并给定一个整数 i(1leqileqN)i\\ (1\\leq i \\leq N),我们定义一个长度为 1010010^{100} 的序列 Bi=(Bi,1,Bi,2,dots,Bi,10100)B_i=(B_{i,1},B_{i,2},\\dots,B_{i,10^{100}}),如下所示:

  • Bi,1=iB_{i,1}=i
  • Bi,j+1=ABi,j(1leqj<10100)B_{i,j+1}=A_{B_{i,j}}\\ (1\\leq j<10^{100})

另外,我们定义 SiS_i 是序列 BiB_i 中仅出现一次的整数的个数。更准确地说,SiS_i 是满足 Bi,j=kB_{i,j}=k 的唯一索引 j(1leqjleq10100)j\\ (1\\leq j\\leq 10^{100}) 的个数。

给定一个整数 NN。存在 NNN^N 种可能的 AA 序列。求所有这些序列中 displaystylesumi=1NSi\\displaystyle \\sum_{i=1}^{N} S_i 的和,对 MM 取模。

约束条件

  • 1leqNleq2times1051\\leq N \\leq 2\\times 10^5
  • 108leqMleq10910^8\\leq M \\leq 10^9
  • NNMM 是整数。

输入

输入以以下格式从标准输入给出:

NN MM

输出

以整数形式输出答案。

示例输入1

4 100000000

示例输出1

624

举个例子,假设 A=(2,3,3,4)A=(2,3,3,4)

  • i=1i=1 时,我们有 B1=(1,2,3,3,3,dots)B_1=(1,2,3,3,3,\\dots),其中的两个整数 1122 出现一次,所以 S1=2S_1=2
  • i=2i=2 时,我们有 B2=(2,3,3,3,dots)B_2=(2,3,3,3,\\dots),其中的一个整数 22 出现一次,所以 S2=1S_2=1
  • i=3i=3 时,我们有 B3=(3,3,3,dots)B_3=(3,3,3,\\dots),其中没有整数出现一次,所以 S3=0S_3=0
  • i=4i=4 时,我们有 B4=(4,4,4,dots)B_4=(4,4,4,\\dots),其中没有整数出现一次,所以 S4=0S_4=0

因此,我们有 displaystylesumi=1NSi=2+1+0+0=3\\displaystyle \\sum_{i=1}^{N} S_i=2+1+0+0=3

如果我们类似地计算其他 255255 种情况下的 displaystylesumi=1NSi\\displaystyle \\sum_{i=1}^{N} S_i,则所有 256256 种情况的这个值的总和为 624624

示例输入2

7 1000000000

示例输出2

5817084

示例输入3

2023 998244353

示例输出3

737481389

按照 MM 取模后输出答案。

示例输入4

100000 353442899

示例输出4

271798911