포커 카드 조합 판정

여섯 장의 카드 숫자가 주어질 때 각 숫자의 등장 횟수를 세고, 그 손이 아홉 가지 포커 조합 중 어느 것인지 출력한다.

쉬움3해시맵구현시뮬레이션면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

포커는 18세기부터 여러 형태로 이어져 온 카드 게임이다. 표준 포커 덱은 네 가지 무늬로 나뉜 52장이고, 무늬마다 13가지 숫자가 있다. 중화권에서는 카드 조합의 서열을 겨루는 빅투와 심삼장이 널리 알려져 있다. 이런 게임을 프로그램으로 만들려면 카드 조합을 알아내는 코드가 필요하다.

여기서는 문제를 다음과 같이 단순하게 만든다. 무늬는 보지 않고 숫자만 본다. 카드 여섯 장이 주어지면 어떤 조합인지 판정한다. 카드 숫자를 정수로 나타낼 때 가능한 조합은 아홉 가지다.

  • single: 여섯 숫자가 모두 다르다. 예를 들어 2 5 7 10 9 8.
  • one pair: 같은 숫자 두 장짜리 쌍이 하나 있고 나머지 네 장은 모두 다르다. 예를 들어 4 4 7 10 8 9.
  • two pairs: 쌍이 두 개 있고 나머지 두 장은 서로 다르다. 예를 들어 8 8 3 3 6 7.
  • three pairs: 쌍이 세 개 있다. 예를 들어 8 8 3 3 7 7.
  • one triple: 같은 숫자 세 장짜리 묶음이 하나 있고 나머지 세 장은 모두 다르다. 예를 들어 2 2 2 7 5 6.
  • two triples: 세 장짜리 묶음이 두 개 있다. 예를 들어 2 2 2 7 7 7.
  • tiki: 같은 숫자가 네 장이고 나머지 두 장은 서로 다르다. 예를 들어 5 5 5 5 9 8.
  • tiki pair: 같은 숫자 네 장과 쌍 하나가 있다. 예를 들어 5 5 5 5 9 9.
  • full house: 세 장짜리 묶음 하나와 쌍 하나가 있다. 예를 들어 3 3 3 9 9 7.

카드 숫자는 1부터 13까지의 정수다. 아홉 가지 조합은 서로 겹치지 않으므로, 조건을 만족하는 여섯 장은 언제나 정확히 한 가지에 해당한다. 여섯 숫자를 읽어 조합 이름을 판정하는 프로그램을 작성하시오.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 이어지는 TT개의 줄에 각각 여섯 개의 정수가 공백 하나로 구분되어 주어진다.

  • 1T251 \le T \le 25
  • 각 정수는 1 이상 13 이하다.
  • 한 테스트 케이스 안에서 같은 숫자는 최대 네 번 나온다.

출력

각 테스트 케이스마다 카드 조합의 이름을 한 줄에 하나씩, 입력 순서대로 출력한다. 이름은 single, one pair, two pairs, three pairs, one triple, two triples, tiki, tiki pair, full house 가운데 하나이며 소문자 그대로 쓴다.