codeforces#P1832E. Combinatorics Problem
Combinatorics Problem
Description
Recall that the binomial coefficient $\binom{x}{y}$ is calculated as follows ($x$ and $y$ are non-negative integers):
- if $x < y$, then $\binom{x}{y} = 0$;
- otherwise, $\binom{x}{y} = \frac{x!}{y! \cdot (x-y)!}$.
You are given an array $a_1, a_2, \dots, a_n$ and an integer $k$. You have to calculate a new array $b_1, b_2, \dots, b_n$, where
- $b_1 = (\binom{1}{k} \cdot a_1) \bmod 998244353$;
- $b_2 = (\binom{2}{k} \cdot a_1 + \binom{1}{k} \cdot a_2) \bmod 998244353$;
- $b_3 = (\binom{3}{k} \cdot a_1 + \binom{2}{k} \cdot a_2 + \binom{1}{k} \cdot a_3) \bmod 998244353$, and so on.
Formally, $b_i = (\sum\limits_{j=1}^{i} \binom{i - j + 1}{k} \cdot a_j) \bmod 998244353$.
Note that the array is given in a modified way, and you have to output it in a modified way as well.
The only line of the input contains six integers $n$, $a_1$, $x$, $y$, $m$ and $k$ ($1 \le n \le 10^7$; $0 \le a_1, x, y < m$; $2 \le m \le 998244353$; $1 \le k \le 5$).
The array $[a_1, a_2, \dots, a_n]$ is generated as follows:
- $a_1$ is given in the input;
- for $2 \le i \le n$, $a_i = (a_{i-1} \cdot x + y) \bmod m$.
Since outputting up to $10^7$ integers might be too slow, you have to do the following:
Let $c_i = b_i \cdot i$ (without taking modulo $998244353$ after the multiplication). Print the integer $c_1 \oplus c_2 \oplus \dots \oplus c_n$, where $\oplus$ denotes the bitwise XOR operator.
Input
The only line of the input contains six integers $n$, $a_1$, $x$, $y$, $m$ and $k$ ($1 \le n \le 10^7$; $0 \le a_1, x, y < m$; $2 \le m \le 998244353$; $1 \le k \le 5$).
The array $[a_1, a_2, \dots, a_n]$ is generated as follows:
- $a_1$ is given in the input;
- for $2 \le i \le n$, $a_i = (a_{i-1} \cdot x + y) \bmod m$.
Output
Since outputting up to $10^7$ integers might be too slow, you have to do the following:
Let $c_i = b_i \cdot i$ (without taking modulo $998244353$ after the multiplication). Print the integer $c_1 \oplus c_2 \oplus \dots \oplus c_n$, where $\oplus$ denotes the bitwise XOR operator.
5 8 2 3 100 2
1283