#Lutece1216. Build Towers

Build Towers

Migrated from Lutece 1216 Build Towers

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

Build towers on a game board is very interesting. Here we introduce one kind of game which is also building towers on the game board.

title

There are nn sticks on the game board. At the beginning of the game, we put plates of different colors on the sticks. There are n2n - 2 different colors of plates. For each color, there are plates of size 00, 11, 22, 33, 44, 55, 66. One for each size. So totally there are 7(n2)7(n - 2) plates put on the sticks.

If a plate of size xx is put right above the plate of size x+1x + 1 of the same color, they are glued together and not able to be split any more. In other words, they must be moved together in the rest of the game.

For each move, we can only move the top plate of each stick, maybe it's glued with several other plates, so they will be moved together. We can only move them onto a stick that the top plate is in the same color with the moving one and is larger than the moving plates. Or we can move them onto an empty stick.

The goal of this game is to make n2n - 2 towers on any of the n2n - 2 different sticks. Each of them are made of 77 plates in the order of 00, 11, 22, 33, 44, 55, 66 from top to bottom.

Now you need to find the minimal number of moved to achieve this.

Input

The first line of the input gives the number of test cases, TT(1T201\leq T\leq 20). TT test cases follow. Each test case starts with number nn(n=8n = 8), the number of sticks on the game board. Each of the next nn lines starts with a number PiP_i(1Pi61\leq P_i\leq 6) represents the number of plates set on each stick. PiP_i strings follow, each represents a plate set on that stick from bottom to top. The first character of the string represents the color and the rest represents the size or size range.

It's guaranteed that the number of colors equals n2n-2 and there are 77 different plates for each color, 00 to 66.

It's also guaranteed that there exists at least one solution for each test case.

Output

For each test case, output one line containing Case #x: y, where xx is the test case number (starting from 11) and yy is the minimal number of moves to make n2n - 2 complete towers.

Samples

1
8
6 A0 B0 E1 C0 C5 F3
6 F6 D0 B4 E0 D6 C2
5 F0 B3 E5 C1 B5
5 D5 B1 E6 B2 A5
5 F1 A4 F4 D3 B6
5 A6 D2 E4 D1 C4
4 A1 E2-3 D4 A2
5 A3 C6 F5 C3 F2
Case #1: 47

Resources

The 2015 China Collegiate Programming Contest