#P6979. [NEERC 2015] Generators

[NEERC 2015] Generators

题目描述

Little Roman is studying linear congruential generators -- one of the oldest and best known pseudorandom number generator algorithms. Linear congruential generator (LCG) starts with a non-negative integer number x0x_{0} also known as seed and produces an infinite sequence of non-negative integer numbers xi(0xi<c)x_{i} (0 \le x_{i} < c) which are given by the following recurrence relation:

xi+1=(axi+b)x_{i+1} = (ax_{i} + b) mod cc

here a , bb , and cc are non-negative integer numbers and 0x0<c0 \le x_{0} < c .

Roman is curious about relations between sequences generated by different LCGs. In particular, he has nn different LCGs with parameters a(j),b(j),a^{(j)}, b^{(j)}, and c(j)c^{(j)} for 1jn1 \le j \le n , where the j-th LCG is generating a sequence xi(j).x_{i}^{(j)}. He wants to pick one number from each of the sequences generated by each LCG so that the sum of the numbers is the maximum one, but is not divisible by the given integer number kk .

Formally, Roman wants to find integer numbers tj0t_{j} \ge 0 for 1jn1 \le j \le n to maximize s=Σj=1nxtj(j) subjects = Σ^{n}_{j=1} x_{t_{j}}^{(j)}  subject to constraint that ss mod k0k ≠ 0 .

输入格式

The first line of the input file contains two integer numbers nn and k(1n10000,1k109).k (1 \le n \le 10 000 , 1 \le k \le 10^{9}). The following nn lines describe LCGs. Each line contains four integer numbers x0(j),a(j),b(j),x_{0}^{(j)}, a^{(j)}, b^{(j)}, and $c^{(j)} (0 \le a^{(j)}, b^{(j)} \le 1000 , 0 \le x_{0}^{(j)} < c^{(j)} \le 1000)$ .

输出格式

If Roman's problem has a solution, then write on the first line of the output file a single integer ss -- the maximum sum not divisible by kk , followed on the next line by nn integer numbers tj(0tj109)t_{j} (0 \le t_{j} \le 10^{9}) specifying some solution with this sum.

Otherwise, write to the output file a single line with the number 1−1 .

2 3
1 1 1 6
2 4 0 5

8
4 1

2 2
0 7 2 8
2 5 0 6

-1

提示

Time limit: 1 s, Memory limit: 256 MB.