dx = [1, -1, 0, 0]
dy = [0, 0, 1, -1]
def recur(cnt, y, x, num):
global numbers
if cnt == 7: # 여섯번 이동했다면
numbers.add(num) # 리스트에 더해
return
for i in range(4):
ny = y + dy[i]
nx = x + dx[i]
if 0 <= nx < 4 and 0 <= ny < 4: # 범위내에 있다면
recur(cnt+1, ny, nx, num+board[ny][nx]) # 들어가봐
tc = int(input())
for idx in range(1, tc+1):
board = [list(input().split()) for _ in range(4)]
numbers = set() # set으로 중복 방지
# 임의의 위치에서 시작
for i in range(4):
for j in range(4):
recur(0, i, j, '')
print('#{} {}'.format(idx, len(numbers)))