Zombies VS Plants

Time Limit: 2000/1000 MS (Java/Others)

Memory Limit: 32768/32768 K (Java/Others)


Facer was addicted to a popular game called “Plants VS Zombies”. After Facer had completed all missions, he started to play the zombies’ role to destroy plants and called the new game “Zombies VS Plants”.

In the game “Zombies VS Plants”, there are 3 kinds of zombies: Little Zombie, Adult Zombie and Football player. Different zombies have different price and different “attacking value” indicating the capability to attack, as shown in the table below:

Spiders also can destroy the plants. Every spider costs 125 dollars.

There are 4 kinds of plants: Sunflower, Bean, Magnet and Lettuce. Every plant has a “defending value” indicating it’s capability of defense.

Facer’s mission is to destroy ALL the plants in the field. In order to destroy plants, Facer needs to buy zombies or spiders and put them into the field. The plants field can be considered as a 5×5 grid(of course 25 cells), as shown in the figure below:

There is a plant in every cell. Facer can destroy plants only by two ways:

1.  If Facer puts one or more zombies together into a row of the field, and the sum of those zombies’ attacking values is larger than the sum of defending values of the plants in the same row, all plants in that row will be destroyed.

2.  Putting a spider in a cell will destroy the plant in it. But there are some exceptions as shown in the description of plant “Lettuce” in a table below.

Once a zombie is put into the plants field, it dies immediately after destroying the plants. So does a spider. In other words, Facer can use a zombie or a spider only once.

This is a table describing the features of different kinds of plants:

Facer can earn P1 dollars after destroying a row of plants, and destroying a sunflower will earn extra P2 dollars for him. Facer has P3 dollars but no zombies and no spiders at the begging. Of course Facer can use the money he earned to buy zombies and spiders.

Your job is helping Facer to accomplish his mission and keep money as much as possible after the mission.


There are multiple test cases.
The first line in the input is a integer T indicating the number of test cases.( 1< T <= 400 )

For each test case:
First line contains three integers P1, P2 and P3 ( 0 <= P1, P2, P3 <= 10000), meaning that Facer earns P1 dollars after destroying a row of plants and earns P2 dollars after destroying a sunflower, and Facer has P3 dollars at the beginning.
Following are 5 lines describing the plants field by top to bottom order. Each line contains 5 integers, telling what’s in the cells of a row, by left to right order. For those 5 integers:
“1” represents a sunflower.
“2” represents a bean.
“3” represents a magnet.
“4” represents a lettuce.


For each test case, output one line containing an integer indicating the maximum amount of dollars Facer can keep after he accomplishes the mission. If Facer can’t destroy all the plants, print -1 instead.

Sample Input

2 100 100 10000 2 2 2 2 2 2 3 2 2 2 3 3 4 3 2 2 3 2 2 2 2 2 2 2 2 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

Sample Output

9025 -1




2009 Asia Ningbo Regional Contest Hosted by