#P22801. A Random Code Problem

A Random Code Problem

题目链接

题意

现在已知一个长度为 nn 的数组 a0,a1,a2...an1a_0,a_1,a_2...a_{n-1}

你现在需要执行以下代码:

long long ans=0;
for(int i=1;i<=k;i++){
    int idx=rnd.next(0, n - 1); // idx为 [0,n) 之间的一个随机正整数  
    ans+=a[idx];
    a[idx]-=(a[idx]%i);
}

求出 ans 的期望值,答案对 998244353998244353 取模。

输入格式

一行六个数,分别表示 n,a0,x,y,k,Mn,a_0,x,y,k,M

你需要递推求出 aaai=(ai1×x+y)modMa_i=(a_{i-1}\times x + y)\bmod M

输入格式

一行一个数,表示答案。

样例

3 10 3 5 13 88
382842030
2 15363 270880 34698 17 2357023
319392398

数据范围

1n1071\le n\le 10^7

0a0,x,y,M9982443530\le a_0,x,y,M\le 998244353

1k171\le k\le 17