Cover Up

시간 제한1초메모리 제한128 MB

문제

TV 게임 쇼의 게임 Cover Up에서 참가자는 아래와 같은 숫자판에서 각 열의 숫자를 하나씩 골라 새 자동차의 정확한 판매 가격을 맞혀야 합니다.

        9
      3 4
    0 4 7
  9 6 7 3
1 4 8 2 6
3 2 4 0 8

가격은 열마다 한 자리씩이며, 참가자는 각 열에서 숫자 하나를 골라 입찰가를 만듭니다. 위 판에서 가격의 첫 번째(가장 왼쪽) 자리는 1 또는 3이고, 두 번째 자리는 9, 4, 2 중 하나, 세 번째 자리는 0, 6, 8, 4 중 하나이며, 이런 식으로 정해집니다. 숫자는 다른 열로 옮길 수 없습니다.

참가자가 입찰가를 확정하면 진행자는 맞은 자리의 숫자를 모두 켭니다. 맞은 숫자가 하나도 없으면 게임이 끝나고 참가자는 패배합니다. 하나라도 맞으면 게임이 계속됩니다.

게임이 계속되면 맞은 숫자는 그대로 고정되고, 참가자는 아직 틀린 각 열에 대해 같은 열에서 아직 고르지 않은 다른 숫자를 새로 고릅니다. 다시 진행자가 새로 맞은 숫자를 켭니다. 새로 맞은 숫자가 하나도 없으면 패배로 끝나고, 하나라도 새로 맞으면 게임이 계속됩니다. 참가자가 패배하거나 모든 열을 맞힐 때(승리)까지 이 과정을 반복합니다.

다음은 한 판이 진행되는 예시입니다.

        9              9              9 
      3 4            3 4            3 4
    0 4 7          0 4            0 4 
  9 6 7 3   ->   9     3    ->  9 
1 4 8 2 6          8 2 6            2 6
3 2 4 0 8      3 2 4 0 8      3 2 4 0 8
| | | | |          |   |          |
v v v v v          v   v          v

               1 4 6 7 7      1 4 8 7 3
               c c x c x      c c x c c

               INITIAL BID    SECOND BID

참가자는 처음에 $14677로 입찰합니다. 1, 4, 그리고 첫 번째 7이 맞습니다(c는 맞은 숫자, x는 틀린 숫자, v는 다시 골라야 하는 열을 나타냅니다). 참가자는 틀린 6과 7을 8과 3으로 덮어 두 번째 입찰가 $14873을 만듭니다. 3은 맞지만 8은 틀립니다. 이제 50 대 50입니다. 참가자는 4 또는 0을 고르며 자동차를 얻거나 게임에서 집니다.

참가자는 항상 아직 끝나지 않은 각 열에 남아 있는 숫자 중에서 균등한 확률로 무작위로 고른다고 가정합니다. 참가자가 결국 자동차를 얻을 확률을 구하세요.

입력

첫 줄에 분석할 판의 수를 나타내는 정수 $N$ ($N \le 5000$)이 주어집니다. 이어서 각 판이 주어집니다.

각 판은 자동차 가격의 자릿수를 나타내는 정수 $d$ ($0 < d \le 7$)가 적힌 줄로 시작합니다. 다음 $d$개의 줄에는 각각 0부터 9까지의 서로 다른 숫자로 이루어진, 비어 있지 않은 문자열이 주어집니다. 각 줄은 판의 한 이며, 첫 줄이 가장 왼쪽 열, 마지막 줄이 가장 오른쪽 열입니다. 가격은 0으로 시작할 수도 있습니다.

출력

각 판마다, 참가자가 자동차를 얻을 확률을 소수점 아래 셋째 자리까지 반올림하여(경계값은 올림) 한 줄에 출력합니다.