atcoder#ARC062C. [ARC062E] AtCoDeerくんと立方体づくり

[ARC062E] AtCoDeerくんと立方体づくり

配点 : 900900

問題文

シカのAtCoDeerくんは正方形のタイルを NN 枚持っています。 各正方形の片面には 1N1 \sim N の数が書いてあって、正方形の各頂点にはそれぞれ色が塗られています。色は 09990 \sim 999の整数で表され、 ii と書かれた正方形に塗られている色は、数の書かれている方向から見て左上、右上、右下、左下 の順に、 Ci,0,Ci,1,Ci,2,Ci,3C_{i,0},C_{i,1},C_{i,2},C_{i,3} で与えられます(図11を参照)。

11: タイルの色と入力の対応

AtCoDeerくんはこれらのタイルを66枚組み合わせて次のような条件を満たす立方体を作ろうと考えました。

  • 数の書いてある面が外側を向いている
  • 立方体の各頂点に対し、そこに集まる正方形の頂点は33つあるが、それらには全て同じ色が塗られている

AtCoDeerくんのために条件を満たす立方体が何通りあるか求めてください。ただし、正方形には数が書いてあるので、色の構成が同じだとしても使ったタイルが異なったり、使ったタイルの向き(9090^\circ回転により44通り考えられる)が異なるものは異なる立方体とみなします。 ただし、3次元空間で回転させることで使ったタイルの向きまで完全に一致するものは同じ立方体とみなします。

22: 4方向のタイルの向き

制約

  • 6N4006 \leq N \leq 400
  • $0 \leq C_{i,j} \leq 999 (1 \leq i \leq N , 0 \leq j \leq 3)$

入力

入力は以下の形式で標準入力から与えられる。

NN

C1,0C_{1,0} C1,1C_{1,1} C1,2C_{1,2} C1,3C_{1,3}

C2,0C_{2,0} C2,1C_{2,1} C2,2C_{2,2} C2,3C_{2,3}

::

CN,0C_{N,0} CN,1C_{N,1} CN,2C_{N,2} CN,3C_{N,3}

出力

AtCoDeerくんが作れる立方体が何通りあるか出力せよ。

6
0 1 2 3
0 4 6 1
1 6 7 2
2 7 5 3
6 4 5 7
4 0 3 5
1

下図のような立方体が作れます。

8
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
144
6
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
122880