#2652. 区间

区间

题目描述

萌萌哒Salroey\red{Salroey}最近得到了一个长度为n\red{n}的正整数数列Si\red{S_i,}下标从1\red{1}开始标号, 她现在想让 你对于一个给定正整数k\red{k,}求出tj\red{t_j}表示区间[j,j+k1]\red{[j,j+k-1]}中所有元素的乘积(1\red{(1≤}j\red{j≤}nk+1)\red{n-k+1)}

为了方便输出,你只需要把所有tj\red{t_j}P\red{P}取模之后,输出它们的异或和。

输入格式

第一行三个正整数n,k,P\red{n,k,P,}分别表示序列长度,区间长度和模数。

第二行四个整数A,B,C,D\red{A,B,C, D,}用来生成数据,Si\red{S_i}定义如下:

S1=A\red{S_1= A};Si=(Si1×B+C) mod D\red{S_i=(S_{i-1}\times B+C)~ mod~ D}

输出格式

输出一行一个整数表示ti mod P\red{t_i ~mod~ P}的异或和。

样例

输入样例1

4 2 10
5 1 1 10

输出样例1

4

输入样例2

1000 97 96998351
41 1668 505 2333

输出样例2

1749769

提示

对于20%\red{20\%}的数据,n\red{n≤}1000\red{1000}

对于50%\red{50\%}的数据,n\red{n≤}2×105\red{2\times 10^5}

另有20%\red{20\%}的数据,n\red{n≤}2×106\red{2\times 10^6};nk\red{n-k≤}10\red{10}

对于100%\red{100\%}的数据,1\red{1≤}k\red{k≤}n\red{n≤}2×107\red{2\times 10^7};0\red{0≤}A,B,C<D\red{A,B,C< D≤}109\red{10^9};1\red{1≤}P\red{P≤}109\red{10^9}

在所有数据中均匀分布着50%\red{50\%}的数据满足P\red{P}是质数,这50%\red{50\%}的数据中有50%\red{50\%}满足P\red{P≤}107\red{10^7}