비디오 포커

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

문제

비디오 포커는 5장 드로 방식을 바탕으로 한 슬롯머신형 포커이다. 플레이어는 표준 52장 덱에서 무작위로 뽑은 5장의 패를 받는다. 그런 다음 이 중 임의의 장수(0장부터 5장까지)를 버리고, 버린 카드마다 덱에 남은 47장 중에서 무작위로 뽑은 새 카드로 교체할 수 있다. 최종 5장의 패는 아래의 고정된 배당표에 따라 평가되어 보상을 받는다. 흔한 배당표는 다음과 같다.

족보배당
원 페어1
투 페어2
트리플3
스트레이트4
플러시5
풀 하우스10
포 카드25
스트레이트 플러시100
로열 플러시250

배당표의 어느 행과도 일치하지 않는 패(단순 하이 카드)의 보상은 $0$이다. 배당표가 주어졌을 때, 주어진 시작 패에 대해 어떤 카드를 버릴지 정하여 기대 보상을 최대로 만든다. 이 최대 기대 보상을 구하는 것이 목표이다.

일반적인 포커 족보 순위를 따른다. 카드는 두 글자 토큰 Xs로 표기하며, X는 숫자(2-9, T, J, Q, K, A), s는 무늬(c, d, h, s)이다. 에이스는 가장 높은 카드이지만, 스트레이트 A 2 3 4 5에서는 가장 낮은 카드로도 쓸 수 있다. 로열 플러시는 한 무늬의 T J Q K A 스트레이트 플러시이다.

입력

첫 줄에는 양의 정수 하나, 즉 테스트 케이스의 수(최대 $100$)가 주어진다. 각 테스트 케이스는 다음과 같이 구성된다.

  • 아홉 개의 정수 $x_i$ ($0 \le x_i \le 1000$)가 한 줄에 주어진다. 이는 원 페어, 투 페어, 트리플, 스트레이트, 플러시, 풀 하우스, 포 카드, 스트레이트 플러시, 로열 플러시에 대한 배당을 오름차순으로 나열한 것이다.
  • 정수 $n$ ($1 \le n \le 10$) 하나가 한 줄에 주어진다. 이는 시작 패의 개수이다.
  • 이어서 $n$개의 줄이 주어지며, 각 줄은 공백으로 구분된 다섯 개의 카드 토큰으로 하나의 시작 패를 나타낸다.

출력

각 시작 패에 대해, 최대 기대 보상을 기약 분수 p/q 형태로 한 줄에 하나씩 출력한다. 여기서 $q \ge 1$이고 $\gcd(p, q) = 1$이며, 정수 값 $v$는 v/1로 출력한다.

기대 보상은 항상 유리수이다. 남길 카드의 집합이 정해지면 보상은 동일한 확률을 갖는 모든 뽑기에 대한 보상의 합을 그 뽑기의 수로 나눈 값이므로, 모든 버리기 선택에 대한 최댓값은 정확한 값을 가지며 이를 분수 p/q로 나타낸다.