우주 왕복선에 탄 우주인들이 지구로 귀환할 다음 이탈 시점을 기다리고 있다. 할 일이 없어 지루해진 이들은 한 변의 길이가 1인 정육면체 모양의 음식 큐브로 게임을 하기로 한다. 무중력 환경에서는 놓아 둔 물체가 그 자리에 그대로 떠 있다. 한 우주인이 음식 큐브 여러 개를 공간에 배치하는데, 이때 큐브들 사이에 빈 공간(구멍)이 생길 수 있다. 다른 사람들은 큐브들의 좌표가 주어졌을 때 구멍의 개수를 세어야 한다.
3차원 공간을 한 변의 길이가 1인 단위 칸들로 나눈다고 하자. 각 음식 큐브는 정수 좌표 $(x, y, z)$ 로 지정되는 하나의 단위 칸을 차지한다. 음식 큐브가 없는 단위 칸을 빈 칸이라고 부른다. 두 칸이 한 면을 맞대고 있으면(즉 세 좌표 중 정확히 하나가 $1$ 만큼 차이 나면) 서로 인접한다고 한다.
구멍이란, 면으로 서로 이어진 빈 칸들의 극대 연결 덩어리 중에서 여섯 방향 모두가 음식 큐브로 완전히 둘러싸여 바깥의 무한한 공간과 이어지지 않는 것을 말한다. 각 음식 큐브의 좌표를 입력받아 구멍의 개수를 구하는 프로그램을 작성하라.
입력의 첫 줄에는 테스트 케이스의 개수를 나타내는 정수 $t$ ($1 \le t \le 20$) 가 주어진다. 각 테스트 케이스의 첫 줄에는 음식 큐브의 개수 $M$ 이 주어진다. 이어지는 $M$ 개의 줄 중 $i$ 번째 줄에는 한 음식 큐브의 세 좌표 $x_i$, $y_i$, $z_i$ 가 주어지며, 모두 $1$ 이상 $100$ 이하의 정수이다.
각 테스트 케이스마다 구멍의 개수를 한 줄에 하나씩 출력한다.