생물학

A개의 랭크와 B개의 슈트로 이루어진 덱에서 두 장의 카드를 고정했을 때, 아홉 가지 포커 족보별로 가능한 다섯 장 조합의 수를 센다.

보통6조합론수학구현완전 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

베라는 카드 A×BA \times B장을 가지고 있다. 각 카드에는 00 이상 A1A - 1 이하의 정수인 랭크와 00 이상 B1B - 1 이하의 정수인 무늬가 하나씩 적혀 있고, 모든 카드는 서로 다르다. 서로 다른 카드 다섯 장으로 이루어진 모음을 패라고 한다.

모든 패는 11번부터 99번까지 번호가 붙은 아홉 가지 족보 중 정확히 하나에 속한다. 한 패가 여러 족보의 조건을 동시에 만족하면 그중 번호가 가장 작은 족보에 속한다. 족보 규칙은 다음과 같다.

  1. 스트레이트 플러시: 스트레이트이면서 플러시이다.
  2. 포카드: 카드 네 장의 랭크가 같다.
  3. 풀하우스: 카드 세 장의 랭크가 같고, 남은 두 장의 랭크도 서로 같다.
  4. 플러시: 다섯 장의 무늬가 모두 같다.
  5. 스트레이트: 다섯 장의 랭크를 오름차순으로 나열하면 어떤 정수 xx에 대해 x,x+1,x+2,x+3,x+4x, x + 1, x + 2, x + 3, x + 4이다.
  6. 트리플: 카드 세 장의 랭크가 같다.
  7. 투 페어: 카드 두 장의 랭크가 같고, 다른 두 장의 랭크도 서로 같다.
  8. 원 페어: 카드 두 장의 랭크가 같다.
  9. 하이 카드: 위의 어느 족보 조건도 만족하지 않는다.

베라는 지금 랭크가 a1a_1, a2a_2이고 무늬가 b1b_1, b2b_2인 카드 두 장을 들고 있다. 남은 카드 중에서 세 장을 더 골라 들고 있는 두 장과 합쳐 패를 만든다. 이렇게 만들 수 있는 서로 다른 패가 각 족보마다 몇 개인지 구하라.

입력

첫째 줄에 정수 AABB가 주어진다. (5A255 \le A \le 25, 1B41 \le B \le 4)

둘째 줄에 정수 a1a_1, b1b_1, a2a_2, b2b_2가 주어진다. (0a1,a2A10 \le a_1, a_2 \le A - 1, 0b1,b2B10 \le b_1, b_2 \le B - 1, (a1,b1)(a2,b2)(a_1, b_1) \neq (a_2, b_2))

출력

한 줄에 정수 아홉 개를 공백으로 구분해 출력한다. ii번째 수는 ii번 족보에 속하는 서로 다른 패의 개수이다. 즉 스트레이트 플러시부터 하이 카드까지 족보 번호가 커지는 순서로 출력한다.

힌트

랭크가 aa이고 무늬가 bb인 카드를 (a,b)(a, b)로 나타내자.

첫 번째 예제에서 베라는 (1,0)(1, 0)(3,1)(3, 1)을 들고 있다. 여기에 (3,0)(3, 0), (4,0)(4, 0), (4,1)(4, 1)을 고르면 랭크가 33인 카드 두 장과 랭크가 44인 카드 두 장이 생기므로 이 패는 투 페어이다. 이 패는 원 페어 조건도 만족하지만, 투 페어의 번호가 더 작으므로 투 페어로 센다.