100 atcoder#ABC167C. [ABC167C] Skill Up

[ABC167C] Skill Up

Score : 300300 points

Problem

Takahashi, who is a novice in competitive programming, wants to learn MM algorithms. Initially, his understanding level of each of the MM algorithms is 00.

Takahashi is visiting a bookstore, where he finds NN books on algorithms. The ii-th book (1iN1\leq i\leq N) is sold for CiC_i yen (the currency of Japan). If he buys and reads it, his understanding level of the jj-th algorithm will increase by Ai,jA_{i,j} for each jj (1jM1\leq j\leq M). There is no other way to increase the understanding levels of the algorithms.

Takahashi's objective is to make his understanding levels of all the MM algorithms XX or higher. Determine whether this objective is achievable. If it is achievable, find the minimum amount of money needed to achieve it.

Constraints

  • All values in input are integers.
  • 1N,M121\leq N, M\leq 12
  • 1X1051\leq X\leq 10^5
  • 1Ci1051\leq C_i \leq 10^5
  • 0Ai,j1050\leq A_{i, j} \leq 10^5

Input

Input is given from Standard Input in the following format:

NN MM XX

C1C_1 A1,1A_{1,1} A1,2A_{1,2} \cdots A1,MA_{1,M}

C2C_2 A2,1A_{2,1} A2,2A_{2,2} \cdots A2,MA_{2,M}

\vdots

CNC_N AN,1A_{N,1} AN,2A_{N,2} \cdots AN,MA_{N,M}

Output

If the objective is not achievable, print -1; otherwise, print the minimum amount of money needed to achieve it.

3 3 10
60 2 2 4
70 8 7 9
50 2 3 9
120

Buying the second and third books makes his understanding levels of all the algorithms 1010 or higher, at the minimum cost possible.

3 3 10
100 3 1 4
100 1 5 9
100 2 6 5
-1

Buying all the books is still not enough to make his understanding levels of all the algorithms 1010 or higher.

8 5 22
100 3 7 5 3 1
164 4 5 2 7 8
334 7 2 7 2 9
234 4 7 2 8 2
541 5 4 3 3 6
235 4 8 6 9 7
394 3 6 1 6 2
872 8 4 3 7 2
1067