세트가 핵심이다
시간 제한2초메모리 제한512 MB
12장의 카드로 이루어진 각 배열에서 네 가지 속성이 모두 같거나 모두 다른 카드 세 장을 모두 찾아 출력합니다.
문제
Set 게임은 81장의 카드로 진행한다. 각 카드는 다음 네 가지 특성을 가진다.
- 기호: 다이아몬드(Diamonds), 타원(Ovals), 물결(Squiggles) 중 하나
- 개수: 1, 2, 3 중 하나
- 색: 빨강(Red), 초록(Green), 보라(Purple) 중 하나
- 음영: 빈 테두리(Outlined), 채움(Filled), 줄무늬(Striped) 중 하나
카드를 섞은 뒤 카드 12장을 배치한다. 플레이어들은 배치된 카드에서 세트를 가장 먼저 찾아내는 것을 목표로 한다. 세트가 찾아지면 그 카드들을 치우고 새 카드를 같은 자리에 놓는다. 모든 카드를 사용할 때까지 이 과정을 반복한다. 세트를 가장 많이 찾은 플레이어가 이긴다.
세 장의 카드는 모든 특성에서 값이 모두 같거나 모두 다르면 세트를 이룬다.
예를 들어 아래 세 카드는 세트를 이룬다.

특성을 차례로 살펴보자. 첫 카드는 물결, 둘째 카드는 다이아몬드, 셋째 카드는 타원이라 기호가 모두 다르다. 세 카드 모두 기호가 3개로 개수가 같다. 색은 빨강, 초록, 보라로 모두 다르다. 음영은 채움, 줄무늬, 빈 테두리로 모두 다르다. 모든 특성이 세 카드에서 같거나 모두 다르므로 세트다.
다음 세 카드는 세트가 아니다.

기호와 개수는 모두 다르고, 색은 세 장 모두 같다. 그런데 음영을 보면 두 장은 채움이고 한 장은 줄무늬다. 음영이 모두 같지도 모두 다르지도 않으므로 세트가 아니다.
입력
입력은 여러 개의 배치로 주어진다. 배치의 각 카드는 한 줄에 한 장씩 적히고, 배치와 배치 사이에는 빈 줄이 하나 있다. 입력의 끝은 파일의 끝으로 표시된다. 마지막 배치 뒤에는 빈 줄이 없다.
각 카드는 한 줄에서 연속된 4개의 문자로 주어진다. 첫 문자는 기호로, D(다이아몬드), O(타원), S(물결) 중 하나다. 둘째 문자는 개수로, 1, 2, 3 중 하나다. 셋째 문자는 색으로, R(빨강), G(초록), P(보라) 중 하나다. 넷째 문자는 음영으로, O(빈 테두리), F(채움), S(줄무늬) 중 하나다. 모든 문자는 대문자다.
출력
배치마다 그 배치의 카드로 만들 수 있는 세트를 모두 나열한다. 한 카드가 여러 세트에 속할 수 있다.