Anti Brute Force Lock

Lately, there is one serious problem with Panda Land Safe Box: several safes have been robbed! The safes are using old 4-digits rolling lock combination (you only have to roll the digit, either up or down, until all four of them match the key). Each digit is designed to roll from 0 to 9. Rolling-up at 9 will make the digit become 0, and rolling-down at 0 will make the digit become 9. Since there are only 10000 possible keys, 0000 through 9999, anyone can try all the combinations until the safe is unlocked. What’s done is done. But in order to slow down future rob- bers’ attack, Panda Security Agency (PSA) has devised a new safer lock with multiple keys. Instead of using only one key com- bination as the key, the lock now can have up to N keys which has to be all unlocked before the safe can be opened. These locks works as the following: • Initially the digits are at 0000. • Keys can be unlocked in any order, by setting the digits in the lock to match the desired key and then pressing the UNLOCK button. • A magic JUMP button can turn the digits into any of the unlocked keys without doing any rolling. • The safe will be unlocked if and only if all the keys are unlocked in a minimum total amount of rolling, excluding JUMP (yes, this feature is the coolest one). • If the number of rolling is exceeded, then the digits will be reset to 0000 and all the keys will be locked again. In other word, the state of the lock will be reset the cracking is failed. PSA is quite confident that this new system will slow down the cracking, giving them enough time to identify and catch the robbers. In order to determine the minimum number of rolling needed, PSA wants you to write a program. Given all the keys, calculate the minimum number of rolls needed to unlock the safe. Input The first line of input contains an integer T, the number of test cases follow. Each case begins with an integer N (1 ≤ N ≤ 500), the number of keys. The next N lines, each contains exactly four digits number (leading zero allowed) representing the keys to be unlocked. Output For each case, print in a single line the minimum number of rolls needed to unlock all the keys. Explanation for the 2nd case: • Turn 0000 into 1111, rolls: 4 • Turn 1111 into 1155, rolls: 8 • Jump 1155 into 1111, we can do this because 1111 has been unlocked before. • Turn 1111 into 5511 rolls: 8 Total rolls = 4 + 8 + 8 = 20

2/2 Sample Input 4 2 1155 2211 3 1111 1155 5511 3 1234 5678 9090 4 2145 0213 9113 8113 Sample Output 16 20 26 17