각 카드가 1~3개의 도형 수와 도형 종류(원, 사각형, 삼각형)를 가지는 카드 묶음에서, 두 특성이 모두 같거나 모두 다른 세 장의 조합을 최대한 많이 만든다.
보통6조합론그리디해시맵아직 제출이 없습니다시간 제한2초메모리 제한512 MBSet은 카드 한 벌로 하는 게임이다. 카드에는 도형이 한 개, 두 개 또는 세 개 그려져 있다. 한 카드에 그려진 도형은 모두 같은 종류이며, 도형은 원, 사각형, 삼각형 중 하나이다.
세트는 카드 세 장의 묶음으로, 각 특성(도형의 개수와 도형의 종류)마다 세 장이 모두 같거나 세 장이 모두 달라야 한다. 예를 들어 아래 그림의 (a)는 올바른 세트이다. 세 카드의 도형 종류가 모두 같고 도형의 개수는 모두 다르기 때문이다.
(b)는 도형의 종류와 개수가 카드마다 모두 다르므로 세트이다. 반면 (c)는 세트가 아니다. 뒤의 두 카드는 도형이 같은데 첫 번째 카드의 도형은 이와 다르기 때문이다. 같은 카드 세 장은 두 특성이 모두 같으므로 세트가 된다.

게임의 목표는 테이블 위의 카드로 세트를 최대한 많이 만드는 것이다. 세트를 하나 만들 때마다 그 세 장의 카드는 게임에서 빠진다. 즉 한 카드는 세트 하나에만 쓸 수 있다.
테이블에 카드가 적으면 만들 수 있는 세트의 최대 개수를 구하기 쉽지만, 카드가 많으면 가능한 조합이 매우 많아진다. 친구가 Set 세계 대회를 준비하면서, 주어진 카드로 만들 수 있는 세트의 최대 개수를 계산하는 프로그램을 부탁했다. 이 프로그램을 작성하시오.
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫 줄에는 테이블 위의 카드 수 N (3≤N≤3×104)이 주어진다. 다음 N개의 줄에는 카드가 한 장씩 주어진다.
카드 한 장은 공백으로 구분된 두 단어로 주어진다. 첫 단어는 um, dois, tres 중 하나로, 카드에 그려진 도형의 개수(각각 1, 2, 3)를 나타낸다. 둘째 단어는 circulo(또는 circulos), quadrado(또는 quadrados), triangulo(또는 triangulos) 중 하나로, 도형의 종류(각각 원, 사각형, 삼각형)를 나타낸다.
입력의 끝은 0 하나만 있는 줄로 표시된다.
각 테스트 케이스마다 주어진 카드로 만들 수 있는 세트의 최대 개수를 한 줄에 정수로 출력한다.