PSET
시간 제한5초메모리 제한1024 MB
카드를 뒤집을 수 있을 때 위쪽 SET 카드들과 아래쪽 SET 카드들이 각각 SET을 이루는 세 장짜리 PSET의 개수를 구합니다.
문제
PSET은 게임 SET에서 파생된 게임이다. SET 게임에는 카드가 81장 있고, 각 카드에는 같은 모양이 1개, 2개 또는 3개 그려져 있다. 이 문제에서 모양은 다음과 같다.
화살표:
다이아몬드:
타원: 
모양 묶음마다 색(빨강 R, 초록 G, 파랑 B. 이 페이지가 흑백이면 R, G, B로 표시한다)과 채우기 방식이 있다.
빈 모양:
줄무늬:
채워진 모양: 
이 조합으로 카드 81종이 나온다. 카드 세 장이 SET을 이루려면 개수, 색, 채우기, 모양의 각 속성이 세 장에서 모두 같거나 모두 달라야 한다. 예를 들어 아래 카드에서 1, 2, 3번은 SET을 이룬다(개수는 모두 다르고, 색은 같고, 채우기는 모두 다르고, 모양도 모두 다르다). 반면 1, 2, 4번은 SET이 아니다. 1번과 4번은 개수가 같은데 2번은 개수가 다르기 때문이다.

카드 두 장이 주어지면, 그 두 장과 SET을 이루는 카드는 정확히 한 장 있다.
카드는 {count}{color}{fill}{shape} 코드로 표기한다. 예를 들어 위의 카드는 2GSD, 3GFA, 1GEO, 2BSA이다. {fill}은 빈 모양이면 E, 줄무늬면 S, 채워진 모양이면 F이다. {shape}는 화살표면 A, 다이아몬드면 D, 타원이면 O이다.
PSET 카드 한 장은 2GSD와 SET을 이루는, 2GSD와 다른 SET 카드 두 장으로 구성된다. 위 예시에서는 3GFA와 1GEO이다. PSET 카드의 SET 카드는 위아래로 놓이고 90도 회전되어 있다. 아래 예시를 보라.
세 장의 PSET 카드가 (필요하면 한 장을 뒤집어서) 위쪽 SET 카드끼리 SET을 이루고 아래쪽 SET 카드끼리도 SET을 이루면 PSET이 된다.
아래 예시에는 PSET이 네 개 있다. { 1, (뒤집기) 2, 3 }, { 1, 2, 4 }, { (뒤집기) 1, 3, 4 }, { 2, 3, (뒤집기) 4 }.

서로 다른 PSET 카드들의 모음을 입력받아, (카드 세 장으로 이루어진) PSET의 개수를 출력하는 프로그램을 작성하라.
입력
입력은 여러 줄로 주어진다. 첫 줄에는 이어서 주어지는 PSET 카드의 개수 N이 있고, 이다. 그 다음 N줄에 카드가 한 장씩 주어진다. 각 줄은 카드 위쪽의 4글자 코드, 공백 한 칸, 카드 아래쪽의 4글자 코드로 이루어진다.
출력
출력은 입력된 카드 모음에 들어 있는 PSET의 개수를 나타내는 정수 한 줄이다.