luogu#P6296. 轮换式 加强版

    ID: 10312 远端评测题 2000ms 256MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>快速傅里叶变换,FFT数论数学生成函数递推

轮换式 加强版

题目背景

原题链接

本题与原题的区别,只有模数和数据范围不同。

题目描述

小奔发现,对于任意的 nn 个字母,他们构成的轮换式,都表示成 nn 个基本轮换式的线性和。

一元的基本轮换式:aa

二元:a+ba+babab

三元:a+b+ca+b+cab+ac+bcab+ac+bcabcabc

四元:a+b+c+da+b+c+dab+ac+ad+bc+bd+cdab+ac+ad+bc+bd+cdabc+abd+bcdabc+abd+bcdabcdabcd

......

已知 nn 个数的各个基本轮换式的值,求它们的 mm 次方和,答案对 899678209899678209899678209=429×221+1899678209 = 429 \times 2^{21} + 1)取模。

输入格式

第一行两个正整数 n,mn,m,意义如题目描述。
接下来一行 nn 个正整数,第 ii 个为 aia_i,表示 nnii 次基本轮换式的值。

输出格式

输出一行一个整数,表示答案。

2 2
9 18
45
9 233333
9 1 8 7 5 6 3 4 2
100006329

提示

【样例一解释】
可以列出方程 a+b=9a+b = 9ab=18ab = 18,容易算出 a2+b2=45a^2+b^2 = 45

【数据范围】

  • 对于 20%20\% 的数据,1n10001\le n \le 10001m1041\le m \le 10^4
  • 对于 60%60\% 的数据,1n10001\le n \le 10001m1091\le m \le 10^9
  • 对于 100%100\% 的数据,1n3×1041\le n \le 3 \times 10^41m1091\le m \le 10^91ai1081\le a_i \le 10^8