atcoder#AGC048E. [AGC048E] Strange Relation

[AGC048E] Strange Relation

Score : 15001500 points

Problem Statement

For an integer sequence of length NN, A=(A1,A2,,AN)A=(A_1,A_2,\cdots,A_N), and an integer TT, let f(A,T)f(A,T) defined as follows:

  • f(A,T)f(A, T) is the lexicographically greatest integer sequence xx that satisfies all of the conditions below. Here, under the constraints in this problem, it can be proved that there always are sequences that satisfy the conditions and that the number of those sequences is finite. Thus, f(A,T)f(A, T) can always be defined.
    • xx is a sequence of length NN consisting of non-negative integers.
    • For each ii (1iN1 \leq i \leq N), let yiy_i be the number of indices jj such that j<ij < i and Aj+T×xj<Ai+T×xiA_j+T \times x_j < A_i+T \times x_i. Then, yi=xiy_i=x_i holds.

For example, assume that A=(6,5,1)A=(6,5,1) and T=3T=3. Then, the sequences xx that satisfy the conditions are: (0,0,0)(0,0,0), (0,0,2)(0,0,2), and (0,1,0)(0,1,0). Thus, the value of f(A,T)f(A, T) is the lexicographically maximum among them: (0,1,0)(0,1,0).

Now, Snuke has NN integer sequences B1,B2,,BNB_1,B_2,\cdots,B_N and an integer TT. Each of the sequences BiB_i (1iN1 \leq i \leq N) is an integer sequence of length KK.

He will create an integer sequence AA of length NN and compute f(A,T)f(A, T). The value of AiA_i will be chosen from Bi,1,Bi,2,,Bi,KB_{i,1},B_{i,2},\cdots,B_{i,K}. Here, if BiB_i contains the same value multiple times, we will distinguish those occurrences; that is, there are KNK^N ways to create AA.

For every ii (1iN1 \leq i \leq N), solve the following problem:

  • For all KNK^N choices of AA, we will compute f(A,T)f(A,T) and record the value of its ii-th element. Find the sum of these values, modulo (109+7)(10^9+7).

Constraints

  • 1N501 \leq N \leq 50
  • 1K501 \leq K \leq 50
  • 1T1071 \leq T \leq 10^7
  • 1Bi,j1091 \leq B_{i,j} \leq 10^9

Input

Input is given from Standard Input in the following format:

NN KK TT

B1,1B_{1,1} B1,2B_{1,2} \cdots B1,KB_{1,K}

B2,1B_{2,1} B2,2B_{2,2} \cdots B2,KB_{2,K}

\vdots

BN,1B_{N,1} BN,2B_{N,2} \cdots BN,KB_{N,K}

Output

For every ii, print the answer in its own line.

2 2 1
1 2
1 2
0
3
  • For A=(1,1)A=(1,1): f(A,T)=(0,1)f(A,T)=(0,1)
  • For A=(1,2)A=(1,2): f(A,T)=(0,1)f(A,T)=(0,1)
  • For A=(2,1)A=(2,1): f(A,T)=(0,0)f(A,T)=(0,0)
  • For A=(2,2)A=(2,2): f(A,T)=(0,1)f(A,T)=(0,1)

Thus, the answer is 0+0+0+0=00+0+0+0=0 for i=1i=1 and 1+1+0+1=31+1+0+1=3 for i=2i=2.

3 2 3
6 2
5 3
1 4
0
6
13
10 15 45
129 82 26 185 217 258 22 192 24 117 167 255 91 180 203
171 73 168 26 208 169 115 164 121 214 154 196 172 66 230
185 178 241 220 243 143 111 124 10 62 56 117 254 43 81
201 74 213 163 204 35 44 203 207 73 218 60 243 51 250
229 117 212 245 112 152 206 96 266 165 105 94 231 41 27
261 201 258 111 100 72 239 31 199 203 226 151 72 268 44
94 19 47 243 133 174 141 82 190 62 175 256 126 123 210
186 64 73 82 68 183 261 120 265 212 18 24 36 152 92
205 101 186 91 172 153 91 242 141 97 247 193 45 245 66
225 97 162 213 61 219 184 195 80 203 79 72 269 258 199
0
248044096
333666695
536381826
8787512
11659012
661959013
166067001
529828166
526544756