핸드 판별

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

호빗들은 운과 기술이 어우러진 놀이를 즐긴다. 그중 하나는 우리의 포커와 매우 비슷하지만, 카드 한 벌의 구성과 규칙이 조금 다르다.

  • 각 카드의 값은 1부터 21까지(양 끝 포함) 중 하나이다.
  • 각 카드의 무늬는 5종류(엘프, 인간, 호빗, 엔트, 오크) 중 하나이다.

따라서 한 벌은 $21 \times 5 = 105$장으로 이루어지며, 포커와 마찬가지로 한 "핸드"는 5장의 카드로 구성된다.

주어진 핸드가 스프레드(spread) 인지, 그리고 레인보우(rainbow) 인지를 판별하라.

스프레드. 무늬는 무시하고 값만 본다. 어떤 두 카드의 값 차이가 다른 어떤 두 카드의 값 차이와도 결코 같지 않을 때, 즉 모든 카드 쌍의 값 차이가 서로 다를 때 그 핸드는 스프레드이다.

예를 들어 값이 1, 2, 4, 8, 16인 핸드는 스프레드이다. 모든 값 쌍의 절댓값 차이가 서로 다르기 때문이다.

첫 번째 카드두 번째 카드차이
121
143
187
11615
242
286
21614
484
41612
8168

레인보우. 핸드가 5종류의 무늬를 정확히 하나씩 포함할 때 그 핸드는 레인보우이다.

입력

첫 번째 줄에 테스트 케이스의 수 $T$가 주어진다 ($T < 100$).

다음 $T$개의 줄에는 각각 하나의 핸드가 주어진다. 하나의 핸드는 10개의 정수로 주어지며, 카드 5장에 대해 카드마다 정수 2개가 온다. 각 카드에서 첫 번째 정수는 무늬(0 이상 4 이하의 정수)이고, 두 번째 정수는 값(1 이상 21 이하의 정수)이다.

출력

각 테스트 케이스마다, 해당 핸드가 스프레드인지와 레인보우인지를 한 줄에 출력한다.

각 줄의 형식은 다음과 같아야 한다. 먼저 스프레드 판정을 폭 24칸의 왼쪽 정렬 필드(오른쪽을 공백으로 채움)에 출력하고, 곧이어 레인보우 판정을 출력한다.

  • 스프레드 판정은 Have a spread. 또는 Do not have a spread. 이다.
  • 레인보우 판정은 Have a rainbow. 또는 Do not have a rainbow. 이다.