問題
트리오미노는 도미노 게임과 유사한 게임이다. 게임에서 정삼각형의 형태의 세 개의 각 쪽에 0이상 6이하의 숫자가 적혀있는 조각을 가지고 게임을 하게 된다. 트리오미노 게임은 조각들을 이어서 6각형을 만드는데, 이어지는 두개의 블록을 겹쳤을 경우 겹쳐진 양쪽의 숫자가 동일해야 한다.
아래 그림은 올바른 트리오미노게임의 예이다.

정삼각형조각의 위쪽을 기준으로 시계방향으로 보았을 때 적혀있는 숫자들을 "XYZ"라고 하자. 예를 들어 "123"과 "312"는 같은 트리오미노이지만, "321"은 다른 트리오미노이다. 조각들은 회전 시킬 수 있지만 뒤집을 수는 없다.
N개의 조각이 주어졌을 때, 만들 수 있는 정육각형 모양의 개수(6개의 조각을 이용해서 만든)를 알아내는 프로그램을 작성하라. 만약 만들어진 육각형 모양이 회전했을 때 이미 만들어진 모양과 같을 경우, 이는 같은 것으로 간주한다.
輸入
첫 번째 줄에는 테스트케이스의 개수 T(T≤100)이 입력된다. 테스트 케이스는 한 줄로 이뤄지는데 앞의 숫자는 사용하는 트리오미노의 개수 N(N≤50)을 의미하고 그 뒤에는 N개의 트리오미노의 모양을 뜻하는 길이 3의 문자열이 입력된다. 같은 모양의 트리오미노 조각이 들어오는 경우는 없다고 간주한다.
輸出
각각의 테스트 케이스에 대해, 만들어지는 정육각형 모양의 개수를 한 줄에 출력한다.
範例
5
6 613 153 354 443 663 634
7 000 111 222 333 444 555 666
6 062 026 063 036 064 046
20 420 302 601 064 660 353 540 031 622 242 112 265 424 044 004 200 421 602 445 123
6 111 112 125 154 143 113
1
0
4
6
1
來源
Online contest