Files
EgtGeomKernel/MC_Tables.h
T
Dario Sassi 3921e36e97 EgtGeomKernel :
- altra correzione a MC_Table per Zmap.
2019-05-22 15:47:19 +00:00

1840 lines
112 KiB
C

#pragma once
// Tabella segmenti
static int EdgeTable[256] = {
0x0 , 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c,
0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00,
0x190, 0x99 , 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c,
0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90,
0x230, 0x339, 0x33 , 0x13a, 0x636, 0x73f, 0x435, 0x53c,
0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30,
0x3a0, 0x2a9, 0x1a3, 0xaa , 0x7a6, 0x6af, 0x5a5, 0x4ac,
0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0,
0x460, 0x569, 0x663, 0x76a, 0x66 , 0x16f, 0x265, 0x36c,
0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60,
0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0xff , 0x3f5, 0x2fc,
0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0,
0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x55 , 0x15c,
0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950,
0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0xcc ,
0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0,
0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc,
0xcc , 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0,
0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c,
0x15c, 0x55 , 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650,
0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc,
0x2fc, 0x3f5, 0xff , 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0,
0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c,
0x36c, 0x265, 0x16f, 0x66 , 0x76a, 0x663, 0x569, 0x460,
0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac,
0x4ac, 0x5a5, 0x6af, 0x7a6, 0xaa , 0x1a3, 0x2a9, 0x3a0,
0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c,
0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x33 , 0x339, 0x230,
0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c,
0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x99 , 0x190,
0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c,
0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x0
} ;
//----------------------------------------------------------------------------
// Tabella triangoli Enhanced MC
// Chiamiamo siti di un triangolo i numeri degli spigoli di voxel ove sono posizionati
// i suoi tre vertici.
// Per ognuna delle configurazioni la prima riga ha i siti dei triangoli non sharp-feature,
// la seconda ha i siti delle basi dei ventagli di triangoli sharp-feature.
// Sia i siti dei triangoli standard che quelli delle basi dei ventagli sharp-feature
// sono ordinati in modo che guardando da dentro il materiale siano ordinati in senso
// anti-orario. Questa scelta è coerente col fatto che nel codice per definire
// un triangolo leggo i siti in senso contrario. P0 = V2, P1 = V1, P2 = V0.
// La riga enhanced è organizzata come segue
// il primo numero è il numero n delle componenti connesse.
// I successivi n numeri sono il numero di siti per ciascuna componente N1, ..., Nn.
// Gli ultimi N1 + N2 + ... + Nn numeri seguenti sono i siti delle componenti, ordinati in modo
// da rispettare l'ordine con cui sono elencati i numeri di siti per ognuna di esse.
// n, N1, ..., Nn, V11, ..., V1N1, ..., Vn1, ..., VnNn.
// Nella riga standard i siti dei triangoli delle componenti rispettano l'ordine di come queste sono
// poste nella riga enhanced, ovvero sono elencati i siti dei triangoli della componente 1, poi quelli
// della componente 2, fino a quelli della componente n.
static int TriangleTableEn[256][2][17] = {
{{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 0 0 0 0
{0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 0 0 0 1 Config 1
{1, 3, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 0 0 1 0 Config 1
{1, 3, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 0 0 1 1 Config 2
{1, 4, 1, 9, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 0 1 0 0 Config 1
{1, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 0 1 0 1 Config 3
{2, 3, 3, 0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 2, 10, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 0 1 1 0 Config 2
{1, 4, 2, 10, 9, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 8, 3, 2, 10, 8, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 0 1 1 1 Config 5
{1, 5, 10, 9, 8, 3, 2 , -1,-1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 1 0 0 0 Config 1
{1, 3, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 11, 2, 8, 11, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 1 0 0 1 Config 2
{1, 4, 0, 8, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 10 -----------------------------------------------------------
{{1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 1 0 1 0 Config 3
{2, 3, 3, 1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 11, 2, 1, 9, 11, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 1 0 1 1 Config 5
{1, 5, 9, 8, 11, 2, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 10, 1, 11, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 1 1 0 0 Config 2
{1, 4, 3, 11,10, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 10, 1, 0, 8, 10, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 1 1 0 1 Config 5
{1, 5, 8, 11, 10, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 9, 0, 3, 11, 9, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 1 1 1 0 Config 5
{1, 5, 11, 10, 9, 0, 3, -1,-1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 0 1 1 1 1 Config 8
{1, 4, 8, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 0 0 0 0 Config 1
{1, 3, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 0 0 0 1 Config 2
{1, 4, 4, 7, 3, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 0 0 1 0 Config 3
{2, 3, 3, 0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 0 0 1 1 Config 5
{1, 5, 7, 3, 1, 9, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 20 -----------------------------------------------------------
{{1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 0 1 0 0 Config 4
{2, 3, 3, 1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 4, 7, 3, 0, 4, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 0 1 0 1 Config 6
{2, 4, 3, 3, 0, 4, 7, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1}},
{{9, 2, 10, 9, 0, 2, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 0 1 1 0 Config 6
{2, 4, 3, 2, 10, 9, 0, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1}},
{{2, 10, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1, -1}, // 0 0 0 1 0 1 1 1 Config 11
{1, 6, 7, 3, 2, 10, 9, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 1 0 0 0 Config 3
{2, 3, 3, 8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1}},
{{11, 4, 7, 11, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 1 0 0 1 Config 5
{1, 5, 2, 0, 4, 7, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 1 0 1 0 Config 7
{3, 3, 3, 3, 9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1}},
{{4, 7, 11, 9, 4, 11, 9, 11, 2, 9, 2, 1, -1, -1, -1, -1, -1}, // 0 0 0 1 1 0 1 1 Config 9
{1, 6, 2, 1, 9, 4, 7,11,-1,-1, -1, -1, -1, -1, -1 ,-1}},
{{3, 10, 1, 3, 11, 10, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 1 1 0 0 Config 6
{2, 4, 3, 3, 11, 10, 1, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1}},
{{1, 11, 10, 1, 4, 11, 1, 0, 4, 7, 11, 4, -1, -1, -1, -1, -1}, // 0 0 0 1 1 1 0 1 Config 11
{1, 6, 1, 0, 4, 7, 11, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 30 ----------------------------------------------------------
{{4, 7, 8, 9, 0, 11, 9, 11, 10, 11, 0, 3, -1, -1, -1, -1, -1}, // 0 0 0 1 1 1 1 0 Config 12
{2, 3, 5, 4, 7, 8, 0, 3, 11, 10, 9, -1, -1, -1, -1, -1, -1}},
{{4, 7, 11, 4, 11, 9, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 0 1 1 1 1 1 Config 5
{1, 5, 4, 7, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 0 0 0 0 Config 1
{1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 0 0 0 1 Config 3
{2, 3, 3, 9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 0 0 1 0 Config 2
{1, 4, 0, 1, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 0 0 1 1 Config 5
{1, 5, 3, 1, 5, 4, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 0 1 0 0 Config 3
{2, 3, 3, 1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 0 1 0 1 Config 7
{3, 3, 3, 3, 3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1}},
{{5, 2, 10, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 0 1 1 0 Config 5
{1, 5, 4, 0, 2, 10, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 10, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1, -1}, // 0 0 1 0 0 1 1 1 Config 9
{1, 6, 5, 4, 8, 3, 2, 10, -1, -1, -1, -1, -1, -1}},
// 40 ------------------------------------------------------------
{{9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 1 0 0 0 Config 4
{2, 3, 3, 9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 11, 2, 0, 8, 11, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 1 0 0 1 Config 6
{2, 4, 3, 0, 8, 11, 2, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1}},
{{0, 5, 4, 0, 1, 5, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 1 0 1 0 Config 6
{2, 4, 3, 0, 1, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1}},
{{2, 1, 5, 2, 5, 8, 2, 8, 11, 4, 8, 5, -1, -1, -1, -1, -1}, // 0 0 1 0 1 0 1 1 Config 11
{1, 6, 2, 1, 5, 4, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 3, 11, 10, 1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 1 1 0 0 Config 6
{2, 4, 3, 3, 11, 10, 1, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1}},
{{4, 9, 5, 0, 8, 1, 8, 10, 1, 8, 11, 10, -1, -1, -1, -1, -1}, // 0 0 1 0 1 1 0 1 Config 12
{2, 3, 5, 4, 9, 5, 1, 0, 8, 11, 10, -1, -1, -1, -1, -1, -1}},
{{5, 4, 0, 5, 0, 11, 5, 11, 10, 11, 0, 3, -1, -1, -1, -1, -1}, // 0 0 1 0 1 1 1 0 Config 11
{1, 6, 5, 4, 0, 3, 11, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{5, 4, 8, 5, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 0 1 1 1 1 Config 5
{1, 5, 5, 4, 8, 11, 10,-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 0 0 0 0 Config 2
{1, 4, 7, 8, 9, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 0 0 0 1 Config 5
{1, 5, 5, 7, 3, 0, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 50 ----------------------------------------------------------
{{0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 0 0 1 0 Config 5
{1, 5, 1, 5, 7, 8, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 0 0 1 1 Config 8
{1, 4, 3, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 7, 8, 9, 5, 7, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 0 1 0 0 Config 6
{2, 4, 3, 7, 8, 9, 5, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1}},
{{10, 1, 2, 9, 5, 0, 5, 3, 0, 5, 7, 3, -1, -1, -1, -1, -1}, // 0 0 1 1 0 1 0 1 Config 12
{2, 3, 5, 10, 1, 2, 0, 9, 5, 7, 3, -1, -1, -1, -1, -1, -1}},
{{8, 0, 2, 8, 2, 5, 8, 5, 7, 10, 5, 2, -1, -1, -1, -1, -1}, // 0 0 1 1 0 1 1 0 Config 11
{1, 6, 2, 10, 5, 7, 8, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 10, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 0 1 1 1 Config 5
{1, 5, 2, 10, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 9, 5, 7, 8, 9, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 1 0 0 0 Config 6
{2, 4, 3, 7, 8, 9, 5, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1}},
{{9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 11, -1, -1, -1, -1, -1}, // 0 0 1 1 1 0 0 1 Config 11
{1, 6, 2, 0, 9, 5, 7, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 3, 11, 0, 1, 8, 1, 7, 8, 1, 5, 7, -1, -1, -1, -1, -1}, // 0 0 1 1 1 0 1 0 Config 12
{2, 3, 5, 2, 3, 11, 8, 0, 1, 5, 7, -1, -1, -1, -1, -1, -1}},
{{11, 2, 1, 11, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 1 0 1 1 Config 5
{1, 5, 11, 2, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 60 --------------------------------------------------------
{{9, 5, 8, 8, 5, 7, 10, 1, 3, 10, 3, 11, -1, -1, -1, -1, -1}, // 0 0 1 1 1 1 0 0 Config 10
{2, 4, 4, 3, 11, 10, 1, 5, 7, 8, 9, -1, -1, -1, -1, -1, -1}},
{{5, 10, 11, 7, 5, 11, 9, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 1 1 0 1 Config 6
{2, 4, 3, 5, 7, 10, 11, 9, 1, 0, -1, -1, -1, -1 , -1, -1, -1}},
{{5, 11, 10, 7, 11, 5, 3, 8, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 1 1 1 0 Config 6
{2, 4, 3, 5, 7, 11, 10, 3, 8, 0, -1, -1, -1, -1 , -1, -1, -1}},
{{11, 10, 5, 7, 11, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 0 1 1 1 1 1 1 Config 2
{1, 4, 5, 7, 11, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 0 0 0 0 Config 1
{1, 3, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 0 0 0 1 Config 4
{2, 3, 3, 0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 0 0 1 0 Config 3
{2, 3, 3, 9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 8, 3, 1, 9, 8, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 0 0 1 1 Config 6
{2, 4, 3, 1, 9, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1}},
{{1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 0 1 0 0 Config 2
{1, 4, 1, 2, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 6, 5, 1, 2, 6, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 0 1 0 1 Config 6
{2, 4, 3, 1, 2, 6, 5, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1}},
// 70 ----------------------------------------------------------
{{9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 0 1 1 0 Config 5
{1, 5, 0, 2, 6, 5, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1, -1}, // 0 1 0 0 0 1 1 1 Config 11
{1, 6, 2, 6, 5, 9, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 1 0 0 0 Config 3
{2, 3, 3, 2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1}},
{{11, 0, 8, 11, 2, 0, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 1 0 0 1 Config 6
{2, 4, 3, 0, 8, 11, 2, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1}},
{{0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 1 0 1 0 Config 7
{3, 3, 3, 3, 0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1}},
{{5, 10, 6, 1, 9, 2, 9, 11, 2, 9, 8, 11, -1, -1, -1, -1, -1}, // 0 1 0 0 1 0 1 1 Config 12
{2, 3, 5, 5, 10, 6, 2, 1, 9, 8, 11, -1, -1, -1, -1, -1, -1}},
{{6, 3, 11, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 1 1 0 0 Config 5
{1, 5, 5, 1, 3, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 11, 0, 11, 5, 0, 5, 1, 5, 11, 6, -1, -1, -1, -1, -1}, // 0 1 0 0 1 1 0 1 Config 11
{1, 6, 5, 1, 0, 8,11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 11, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1, -1}, // 0 1 0 0 1 1 1 0 Config 9
{1, 6, 0, 3, 11, 6, 5, 9, -1, -1, -1, -1, -1, -1, -1}},
{{6, 5, 9, 6, 9, 11, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 0 1 1 1 1 Config 5
{1, 5, 6, 5, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 80 -----------------------------------------------------------
{{5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 0 0 0 0 Config 3
{2, 3, 3, 5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 3, 0, 4, 7, 3, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 0 0 0 1 Config 6
{2, 4, 3, 4, 7, 3, 0, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1}},
{{1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 0 0 1 0 Config 7
{3, 3, 3, 3, 1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1}},
{{10, 6, 5, 1, 9, 7, 1, 7, 3, 7, 9, 4, -1, -1, -1, -1, -1}, // 0 1 0 1 0 0 1 1 Config 12
{ 2, 3, 5,10, 6, 5, 9, 4, 7, 3, 1,-1, -1, -1, -1, -1, -1}},
{{6, 1, 2, 6, 5, 1, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 0 1 0 0 Config 6
{2, 4, 3, 1, 2, 6, 5, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1}},
{{1, 2, 5, 5, 2, 6, 3, 0, 4, 3, 4, 7, -1, -1, -1, -1, -1}, // 0 1 0 1 0 1 0 1 Config 10
{2, 4, 4, 2, 6, 5, 1, 3, 0, 4, 7, -1, -1, -1, -1, -1, -1}},
{{8, 4, 7, 9, 0, 5, 0, 6, 5, 0, 2, 6, -1, -1, -1, -1, -1}, // 0 1 0 1 0 1 1 0 Config 12
{2, 3, 5, 8, 4, 7, 5, 9, 0, 2, 6, -1, -1, -1, -1, -1, -1}},
{{3, 6, 7, 6, 3, 2, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 0 1 1 1 Config 6
{2, 4, 3, 3, 2, 6, 7, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1}},
{{3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 1 0 0 0 Config 7
{3, 3, 3, 3, 3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1}},
{{5, 10, 6, 4, 7, 2, 4, 2, 0, 2, 7, 11, -1, -1, -1, -1, -1}, // 0 1 0 1 1 0 0 1 Config 12
{2, 3, 5, 5, 10, 6, 7, 11, 2, 0, 4, -1, -1, -1, -1, -1, -1}},
// 90 ------------------------------------------------------
{{0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1}, // 0 1 0 1 1 0 1 0 Config 13
{4, 3, 3, 3, 3, 0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6}},
{{10, 2, 1, 11, 6, 7, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 1 0 1 1 Config 7
{3, 3, 3, 3, 10, 2, 1, 11, 6, 7, 9, 4, 5, -1, -1, -1, -1}},
{{8, 4, 7, 3, 11, 5, 3, 5, 1, 5, 11, 6, -1, -1, -1, -1, -1}, // 0 1 0 1 1 1 0 0 Config 12
{2, 3, 5, 8, 4, 7, 11, 6, 5, 1, 3, -1, -1, -1, -1, -1, -1}},
{{0, 5, 1, 5, 0, 4, 6, 7, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 1 1 0 1 Config 6
{2, 4, 3, 4, 5, 1, 0, 6, 7, 11, -1, -1, -1, -1, -1, -1, -1}},
{{8, 0, 3, 9, 4, 5, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 1 1 1 0 Config 7
{3, 3, 3, 3, 8, 0, 3, 9, 4, 5, 11, 6, 7, -1, -1, -1, -1}},
{{5, 9, 4, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 0 1 1 1 1 1 Config 3
{2, 3, 3, 5, 9, 4, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 4, 9, 6, 4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 0 0 0 0 Config 2
{1, 4, 4, 9, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 10, 6, 4, 9, 10, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 0 0 0 1 Config 6
{2, 4, 3, 4, 9, 10, 6, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1}},
{{10, 0, 1, 10, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 0 0 1 0 Config 5
{1, 5, 6, 4, 0, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 10, -1, -1, -1, -1, -1}, // 0 1 1 0 0 0 1 1 Config 11
{1, 6, 1, 10, 6, 4, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 100 ---------------------------------------------------------
{{1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 0 1 0 0 Config 5
{1, 5, 2, 6, 4, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 0, 8, 1, 2, 9, 2, 4, 9, 2, 6, 4, -1, -1, -1, -1, -1}, // 0 1 1 0 0 1 0 1 Config 12
{2, 3, 5, 3, 0, 8, 9, 1, 2, 6, 4, -1, -1, -1, -1, -1, -1}},
{{0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 0 1 1 0 Config 8
{1, 4, 2, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 0 1 1 1 Config 5
{1, 5, 8, 3, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 4, 9, 10, 6, 4, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 1 0 0 0 Config 6
{2, 4, 3, 10, 6, 4, 9, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 2, 2, 8, 11, 4, 9, 10, 4, 10, 6, -1, -1, -1, -1, -1}, // 0 1 1 0 1 0 0 1 Config 10
{2, 4, 4, 2, 0, 8, 11, 10, 6, 4, 9, -1, -1, -1, -1, -1, -1}},
{{3, 11, 2, 0, 1, 6, 0, 6, 4, 6, 1, 10, -1, -1, -1, -1, -1}, // 0 1 1 0 1 0 1 0 Config 12
{2, 3, 5, 3, 11, 2, 1, 10, 6, 4, 0, -1, -1, -1, -1, -1, -1}},
{{10, 2, 1, 8, 6, 4, 6, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 1 0 1 1 Config 6
{2, 4, 3, 6, 4, 8, 11, 10, 2, 1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 6, 4, 9, 3, 6, 9, 1, 3, 11, 6, 3, -1, -1, -1, -1, -1}, // 0 1 1 0 1 1 0 0 Config 11
{1, 6, 3, 11, 6, 4, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{6, 4, 11, 8, 11, 4, 9, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 1 1 0 1 Config 6
{2, 4, 3, 6, 4, 8, 11, 9, 1, 0, -1, -1, -1, -1, -1, -1, -1}},
// 110 ----------------------------------------------------------
{{3, 11, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 1 1 1 0 Config 5
{1, 5, 3, 11, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{6, 4, 8, 11, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 0 1 1 1 1 Config 2
{1, 4, 8, 11, 6, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 10, 6, 7, 8, 10, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 0 0 0 0 Config 5
{1, 5, 8, 9, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 7, 3, 0, 10, 7, 0, 9, 10, 6, 7, 10, -1, -1, -1, -1, -1}, // 0 1 1 1 0 0 0 1 Config 11
{1, 6, 0, 9, 10, 6, 7, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 6, 7, 1, 10, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1, -1}, // 0 1 1 1 0 0 1 0 Config 9
{1, 6, 7, 8, 0, 1, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 6, 7, 10, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 0 0 1 1 Config 5
{1, 5, 10, 6, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1, -1}, // 0 1 1 1 0 1 0 0 Config 11
{1, 6, 1, 2, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 3, 6, 2, 6, 3, 9, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 0 1 0 1 Config 6
{2, 4, 3, 3, 2, 6, 7, 9, 1, 0, -1, -1, -1, -1 , -1, -1, -1}},
{{7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 0 1 1 0 Config 5
{1, 5, 7, 8, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 0 1 1 1 Config 2
{1, 4, 7, 3, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 120 -------------------------------------------------------
{{2, 3, 11, 10, 6, 8, 10, 8, 9, 8, 6, 7, -1, -1, -1, -1, -1}, // 0 1 1 1 1 0 0 0 Config 12
{2, 3, 5, 2, 3, 11, 6, 7, 8, 9, 10, -1, -1, -1, -1, -1, -1}},
{{11, 6, 7, 9, 2, 0, 2, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 1 0 0 1 Config 6
{2, 4, 3, 9, 10, 2, 0, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1}},
{{6, 7, 11, 0, 3, 8, 2, 1, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 1 0 1 0 Config 7
{3, 3, 3, 3, 6, 7, 11, 0, 3, 8, 2, 1, 10, -1, -1, -1, -1}},
{{1, 10, 2, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 1 0 1 1 Config 3
{2, 3, 3, 1, 10, 2, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1}},
{{6, 7, 11, 1, 3, 9, 8, 9, 3, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 1 1 0 0 Config 6
{2, 4, 3, 1, 3, 8, 9, 6, 7, 11, -1, -1, -1, -1, -1, -1, -1}},
{{0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 1 1 0 1 Config 4
{2, 3, 3, 0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 0, 3, 6, 7, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 1 1 1 0 Config 3
{2, 3, 3, 8, 0, 3, 6, 7, 11, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 0 1 1 1 1 1 1 1 Config 1
{1, 3, 7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 0 0 0 0 Config 1
{1, 3, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 0 0 0 1 Config 3
{2, 3, 3, 3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1}},
// 130 ----------------------------------------------------------
{{0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 0 0 1 0 Config 4
{2, 3, 3, 0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 1, 9, 8, 3, 1, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 0 0 1 1 Config 6
{2, 4, 3, 1, 9, 8, 3, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1}},
{{10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 0 1 0 0 Config 3
{2, 3, 3, 10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 0 1 0 1 Config 7
{3, 3, 3, 3, 1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1}},
{{2, 9, 0, 2, 10, 9, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 0 1 1 0 Config 6
{2, 4, 3, 2, 10, 9, 0, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1}},
{{6, 11, 7, 2, 10, 3, 10, 8, 3, 10, 9, 8, -1, -1, -1, -1, -1}, // 1 0 0 0 0 1 1 1 Config 12
{2, 3, 5, 6, 11, 7, 3, 2, 10, 9, 8, -1, -1, -1, -1, -1, -1}},
{{7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 1 0 0 0 Config 2
{1, 4, 2, 3, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 1 0 0 1 Config 5
{1, 5, 6, 2, 0, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 7, 6, 2, 3, 7, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 1 0 1 0 Config 6
{2, 4, 3, 2, 3, 7, 6, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1}},
{{1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1, -1}, // 1 0 0 0 1 0 1 1 Config 11
{1, 6, 6, 2, 1, 9, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 140 ----------------------------------------------------------
{{10, 7, 6, 10, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 1 1 0 0 Config 5
{1, 5, 1, 3, 7, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 7, 6, 1, 7, 10, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1, -1}, // 1 0 0 0 1 1 0 1 Config 9
{1, 6, 1, 0, 8, 7, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 3, 7, 0, 7, 10, 0, 10, 9, 6, 10, 7, -1, -1, -1, -1, -1}, // 1 0 0 0 1 1 1 0 Config 11
{1, 6, 10, 9, 0, 3, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 6, 10, 7, 10, 8, 8, 10, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 0 1 1 1 1 Config 5
{1, 5, 7, 6, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{6, 8, 4, 11, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 0 0 0 0 Config 2
{1, 4, 6, 11, 8, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 6, 11, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 0 0 0 1 Config 5
{1, 5, 0, 4, 6, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 6, 11, 8, 4, 6, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 0 0 1 0 Config 6
{2, 4, 3, 6, 11, 8, 4, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 4, 6, 9, 6, 3, 9, 3, 1, 11, 3, 6, -1, -1, -1, -1, -1}, // 1 0 0 1 0 0 1 1 Config 11
{1, 6, 6, 11, 3, 1, 9, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{6, 8, 4, 6, 11, 8, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 0 1 0 0 Config 6
{2, 4, 3, 6, 11, 8, 4, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 2, 10, 3, 0, 11, 0, 6, 11, 0, 4, 6, -1, -1, -1, -1, -1}, // 1 0 0 1 0 1 0 1 Config 13
{2, 3, 5, 1, 2, 10, 11, 3, 0, 4, 6, -1, -1, -1, -1, -1, -1}},
// 150 -------------------------------------------------------
{{4, 11, 8, 4, 6, 11, 0, 2, 9, 2, 10, 9, -1, -1, -1, -1, -1}, // 1 0 0 1 0 1 1 0 Config 10
{2, 4, 4, 4, 6, 11, 8, 2, 10, 9, 0, -1, -1, -1, -1, -1, -1}},
{{4, 6, 9, 10, 9, 6, 3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 0 1 1 1 Config 6
{2, 4, 3, 4, 6, 10, 9, 3, 2, 11, -1, -1, -1, -1, -1, -1, -1}},
{{8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 1 0 0 0 Config 5
{1, 5, 4, 6, 2, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 1 0 0 1 Config 8
{1, 4, 4, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 9, 0, 2, 3, 4, 2, 4, 6, 4, 3, 8, -1, -1, -1, -1, -1}, // 1 0 0 1 1 0 1 0 Config 12
{2, 3, 5, 1, 9, 0, 3, 8, 4, 6, 2, -1, -1, -1, -1, -1, -1}},
{{1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 1 0 1 1 Config 5
{1, 5, 1, 9, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 10, 1, -1, -1, -1, -1, -1}, // 1 0 0 1 1 1 0 0 Config 11
{1, 6, 1, 3, 8, 4, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 1, 0, 10, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 1 1 0 1 Config 5
{1, 5, 10, 1, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 0, 3, 10, 4, 6, 4, 10, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 1 1 1 0 Config 6
{2, 4, 3, 8, 0, 3, 6, 10, 9, 4, -1, -1, -1, -1, -1, -1, -1}},
{{10, 9, 4, 6, 10, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 0 1 1 1 1 1 Config 2
{1, 4, 4, 6, 10, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 160 ----------------------------------------------------------
{{4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 0 0 0 0 Config 3
{2, 3, 3, 4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 0 0 0 1 Config 7
{3, 3, 3, 3, 0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1}},
{{5, 0, 1, 5, 4, 0, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 0 0 1 0 Config 6
{2, 4, 3, 0, 1, 5, 4, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1}},
{{11, 7, 6, 8, 3, 4, 3, 5, 4, 3, 1, 5, -1, -1, -1, -1, -1}, // 1 0 1 0 0 0 1 1 Config 12
{2, 3, 5, 11, 7, 6, 4, 8, 3, 1, 5, -1, -1, -1, -1, -1, -1}},
{{9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 0 1 0 0 Config 7
{3, 3, 3, 3, 9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1}},
{{6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5, -1, -1, -1, -1, -1}, // 1 0 1 0 0 1 0 1 Config 13
{4, 3, 3, 3, 3, 6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5}},
{{7, 6, 11, 5, 4, 10, 4, 2, 10, 4, 0, 2, -1, -1, -1, -1, -1}, // 1 0 1 0 0 1 1 0 Config 12
{2, 3, 5, 7, 6, 11, 10, 5, 4, 0, 2,-1, -1, -1, -1, -1, -1}},
{{11, 3, 2, 8, 7, 4, 10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 0 1 1 1 Config 7
{3, 3, 3, 3, 11, 3, 2, 8, 7, 4, 10, 5, 6, -1, -1, -1, -1}},
{{7, 2, 3, 7, 6, 2, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 1 0 0 0 Config 6
{2, 4, 3, 2, 3, 7, 6, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1}},
{{9, 5, 4, 0, 8, 6, 0, 6, 2, 6, 8, 7, -1, -1, -1, -1, -1}, // 1 0 1 0 1 0 0 1 Config 12
{2, 3, 5, 9, 5, 4, 8, 7, 6, 2, 0, -1, -1, -1, -1, -1, -1}},
// 170 -----------------------------------------------------
{{3, 6, 2, 3, 7, 6, 1, 5, 0, 5, 4, 0, -1, -1, -1, -1, -1}, // 1 0 1 0 1 0 1 0 Config 10
{2, 4, 4, 3, 7, 6, 2, 0, 1, 5, 4, -1, -1, -1, -1, -1, -1}},
{{7, 4, 8, 1, 6, 2, 6, 1, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 1 0 1 1 Config 6
{2, 4, 3, 5, 6, 2, 1, 7, 4, 8, -1, -1, -1, -1, -1, -1, -1}},
{{9, 5, 4, 10, 1, 6, 1, 7, 6, 1, 3, 7, -1, -1, -1, -1, -1}, // 1 0 1 0 1 1 0 0 Config 12
{2, 3, 5, 9, 5, 4, 6, 10, 1, 3, 7,-1, -1, -1, -1, -1, -1}},
{{9, 1, 0, 10, 5, 6, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 1 1 0 1 Config 7
{3, 3, 3, 3, 9, 1, 0, 10, 5, 6, 8, 7, 4, -1, -1, -1, -1}},
{{3, 4, 0, 4, 3, 7, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 1 1 1 0 Config 6
{2, 4, 3, 3, 7, 4, 0, 10, 5, 6, -1, -1, -1, -1, -1, -1, -1}},
{{6, 10, 5, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 0 1 1 1 1 Config 3
{2, 3, 3, 6, 10, 5, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1}},
{{6, 9, 5, 6, 11, 9, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 0 0 0 0 Config 5
{1, 5,11, 8, 9, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 6, 11, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1, -1}, // 1 0 1 1 0 0 0 1 Config 9
{1, 6, 0, 9, 5, 6, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 11, 8, 0, 5, 11, 0, 1, 5, 5, 6, 11, -1, -1, -1, -1, -1}, // 1 0 1 1 0 0 1 0 Config 11
{1, 6, 0, 1, 5, 6, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{6, 11, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 0 0 1 1 Config 5
{1, 5, 6, 11, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 180 -------------------------------------------------------
{{1, 2, 10, 9, 5, 11, 9, 11, 8, 11, 5, 6, -1, -1, -1, -1, -1}, // 1 0 1 1 0 1 0 0 Config 12
{2, 3, 5, 1, 2, 10, 5, 6, 11, 8, 9, -1, -1, -1, -1, -1, -1}},
{{5, 6, 10, 3, 2, 11, 1, 0, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 0 1 0 1 Config 7
{3, 3, 3, 3, 5, 6, 10, 3, 2, 11, 1, 0, 9, -1, -1, -1, -1}},
{{0, 2, 8, 11, 8, 2, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 0 1 1 0 Config 6
{2, 4, 3, 11, 8, 0, 2, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1}},
{{11, 3, 2, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 0 1 1 1 Config 3
{2, 3, 3, 11, 3, 2, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1}},
{{5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1, -1}, // 1 0 1 1 1 0 0 0 Config 11
{1, 6, 2, 3, 8, 9, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 1 0 0 1 Config 5
{1, 5, 9, 5, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 0, 3, 6, 2, 5, 1, 5, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 1 0 1 0 Config 6
{2, 4, 3, 5, 6, 2, 1, 8, 0, 3, -1, -1, -1, -1, -1, -1, -1}},
{{1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 1 0 1 1 Config 2
{1, 4, 1, 5, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 5, 6, 8, 1, 3, 1, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 1 1 0 0 Config 6
{2, 4, 3, 8, 9, 1, 3, 10, 5, 6, -1, -1, -1, -1, -1, -1, -1}},
{{1, 0, 9, 6, 10, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 1 1 0 1 Config 3
{2, 3, 3, 1, 0, 9, 6, 10, 5, -1, -1, -1, -1, -1, -1, -1, -1}},
// 190 ----------------------------------------------------------
{{0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 1 1 1 0 Config 4
{2, 3, 3, 0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1}},
{{10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 0 1 1 1 1 1 1 Config 1
{1, 3, 10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{11, 5, 10, 7, 5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 0 0 0 0 Config 2
{1, 4, 5, 10, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{11, 5, 10, 11, 7, 5, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 0 0 0 1 Config 6
{2, 4, 3, 5, 10, 11, 7, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1}},
{{5, 11, 7, 5, 10, 11, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 0 0 1 0 Config 6
{2, 4, 3, 5, 10, 11, 7, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1}},
{{10, 7, 5, 10, 11, 7, 9, 8, 1, 8, 3, 1, -1, -1, -1, -1, -1}, // 1 1 0 0 0 0 1 1 Config 10
{2, 4, 4, 10, 11, 7, 5, 1, 9, 8, 3, -1, -1, -1, -1, -1, -1}},
{{11, 1, 2, 11, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 0 1 0 0 Config 5
{1, 5, 7, 5, 1, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 3, 1, 2, 7, 1, 7, 5, 7, 2, 11, -1, -1, -1, -1, -1}, // 1 1 0 0 0 1 0 1 Config 12
{2, 3, 5, 0, 8, 3, 2, 11, 7, 5, 1, -1, -1, -1, -1, -1, -1}},
{{9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 11, 7, -1, -1, -1, -1, -1}, // 1 1 0 0 0 1 1 0 Config 11
{1, 6, 2, 11, 7, 5, 9, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 7, 5, 7, 9, 8, 11, 3, 2, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 0 1 1 1 Config 6
{2, 4, 3, 7, 5, 9, 8, 11, 3, 2, - 1, -1, -1, -1, -1, -1, -1}},
// 200 ----------------------------------------------------------
{{2, 5, 10, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 1 0 0 0 Config 5
{1, 5, 3, 7, 5, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{8, 2, 0, 8, 5, 2, 8, 7, 5, 10, 2, 5, -1, -1, -1, -1, -1}, // 1 1 0 0 1 0 0 1 Config 11
{1, 6, 5, 10, 2, 0, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 0, 1, 5, 10, 3, 5, 3, 7, 3, 10, 2, -1, -1, -1, -1, -1}, // 1 1 0 0 1 0 1 0 Config 12
{2, 3, 5, 9, 0, 1, 10, 2, 3, 7, 5, -1, -1, -1, -1, -1, -1}},
{{2, 1, 10, 7, 5, 8, 9, 8, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 1 0 1 1 Config 6
{2, 4, 3, 5, 9, 8, 7, 2, 1, 10, -1, -1, -1, -1, -1, -1, -1}},
{{1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 1 1 0 0 Config 8
{1, 4, 3, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 1 1 0 1 Config 5
{1, 5, 0, 8, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 1 1 1 0 Config 5
{1, 5, 9, 0, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 0 1 1 1 1 Config 2
{1, 4, 7, 5, 9, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{5, 8, 4, 5, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 0 0 0 0 Config 5
{1, 5, 10, 11, 8, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{5, 0, 4, 5, 11, 0, 5, 10, 11, 11, 3, 0, -1, -1, -1, -1, -1}, // 1 1 0 1 0 0 0 1 Config 11
{1, 6, 0, 4, 5, 10, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 210 ------------------------------------------------------
{{0, 1, 9, 8, 4, 10, 8, 10, 11, 10, 4, 5, -1, -1, -1, -1, -1}, // 1 1 0 1 0 0 1 0 Config 12
{2, 3, 5, 0, 1, 9, 4, 5, 10, 11, 8, -1, -1, -1, -1, -1, -1}},
{{4, 5, 9, 3, 1, 11, 10, 11, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 0 0 1 1 Config 6
{2, 4, 3, 3, 1, 10, 11, 4, 5, 9, -1, -1, -1, -1, -1, -1, -1}},
{{2, 5, 1, 2, 8, 5, 2, 11, 8, 4, 5, 8, -1, -1, -1, -1, -1}, // 1 1 0 1 0 1 0 0 Config 11
{1, 6, 2, 11, 8, 4, 5, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{11, 3, 2, 5, 1, 4, 0, 4, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 0 1 0 1 Config 6
{2, 4, 3, 0, 4, 5, 1, 11, 3, 2, -1, -1, -1, -1, -1, -1, -1}},
{{11, 0, 2, 0, 11, 8, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 0 1 1 0 Config 6
{2, 4, 3, 0, 2, 11, 8, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1}},
{{9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 0 1 1 1 Config 4
{2, 3, 3, 9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 5, 10, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1, -1}, // 1 1 0 1 1 0 0 0 Config 9
{1, 6, 2, 3, 8, 4, 5, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{5, 10, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 1 0 0 1 Config 5
{1, 5, 5, 10, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 5, 9, 2, 1, 10, 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 1 0 1 0 Config 7
{3, 3, 3, 3, 4, 5, 9, 2, 1, 10, 0, 3, 8, -1, -1, -1, -1}},
{{10, 2, 1, 4, 5, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 1 0 1 1 Config 3
{2, 3, 3, 10, 2, 1, 4, 5, 9, -1, -1, -1, -1, -1, -1, -1, -1}},
// 220 ----------------------------------------------------------
{{8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 1 1 0 0 Config 5
{1, 5, 8, 4, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 1 1 0 1 Config 2
{1, 4, 0, 4, 5, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 5, 9, 3, 8, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 1 1 1 0 Config 3
{2, 3, 3, 4, 5, 9, 3, 8, 0, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 0 1 1 1 1 1 Config 1
{1, 3, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 11, 7, 4, 9, 11, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 0 0 0 0 Config 5
{1, 5, 9, 10, 11, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 8, 3, 4, 9, 7, 9, 11, 7, 9, 10, 11, -1, -1, -1, -1, -1}, // 1 1 1 0 0 0 0 1 Config 12
{2, 3, 5, 0, 8, 3, 7, 4, 9, 10, 11, -1, -1, -1, -1, -1, -1}},
{{1, 10, 11, 1, 11, 4, 1, 4, 0, 7, 4, 11, -1, -1, -1, -1, -1}, // 1 1 1 0 0 0 1 0 Config 11
{1, 6, 1, 10, 11, 7, 4, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{ 10, 3, 1, 3, 10, 11, 8, 7, 4, -1, -1, -1, -1, -1}, // 1 1 1 0 0 0 1 1 Config 6
{2, 4, 3, 3, 1, 10, 11, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1}},
{{4, 11, 7, 9, 11, 4, 9, 2, 11, 9, 1, 2, -1, -1, -1, -1, -1}, // 1 1 1 0 0 1 0 0 Config 9
{1, 6, 11, 7, 4, 9, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 4, 8, 1, 0, 9, 3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 0 1 0 1 Config 7
{3, 3, 3, 3, 7, 4, 8, 1, 0, 9, 3, 2, 11, -1, -1, -1, -1}},
// 230 ----------------------------------------------------------
{{11, 7, 4, 11, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 0 1 1 0 Config 5
{1, 5, 11, 7, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{7, 4, 8, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 0 1 1 1 Config 3
{2, 3, 3, 7, 4, 8, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 9, 10, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1, -1}, // 1 1 1 0 1 0 0 0 Config 11
{1, 6, 2, 3, 7, 4, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 0, 10, 9, 10, 0, 7, 4, 8, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 1 0 0 1 Config 6
{2, 4, 3, 9, 10, 2, 0, 7, 4, 8, -1, -1, -1, -1, -1, -1, -1}},
{{10, 2, 1, 4, 0, 7, 3, 7, 0, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 1 0 1 0 Config 6
{2, 4, 3, 7, 4, 0, 3, 10, 2, 1, -1, -1, -1, -1, -1, -1}},
{{1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 1 0 1 1 Config 4
{2, 3, 3, 1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 1 1 0 0 Config 5
{1, 5, 4, 9, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 1, 0, 7, 4, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 1 1 0 1 Config 3
{2, 3, 3, 9, 1, 0, 7, 4, 8, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 1 1 1 0 Config 2
{1, 4, 3, 7, 4, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 0 1 1 1 1 Config 1
{1, 3, 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 240 ------------------------------------------------------------
{{9, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 0 0 0 0 Config 8
{1, 4, 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 0, 9, 3, 9, 11, 11, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 0 0 0 1 Config 5
{1, 5, 3, 0, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 1, 10, 0, 10, 8, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 0 0 1 0 Config 5
{1, 5, 0, 1, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 0 0 1 1 Config 2
{1, 4, 3, 1, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 2, 11, 1, 11, 9, 9, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 0 1 0 0 Config 5
{1, 5, 1, 2, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 9, 1, 11, 3, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 0 1 0 1 Config 3
{2, 3, 3, 0, 9, 1, 11, 3, 2, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 2, 11, 8, 0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 0 1 1 0 Config 2
{1, 4, 0, 2, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 0 1 1 1 Config 1
{1, 3, 3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{2, 3, 8, 2, 8, 10, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 1 0 0 0 Config 5
{1, 5, 2, 3, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{9, 10, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 1 0 0 1 Config 2
{1, 4, 2, 0, 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
// 250 -------------------------------------------------------
{{3, 8, 0, 10, 2, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 1 0 1 0 Config 3
{2, 3, 3, 3, 8, 0, 10, 2, 1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 1 0 1 1 Config 1
{1, 3, 1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 1 1 0 0 Config 2
{1, 4, 1, 3, 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 1 1 0 1 Config 1
{1, 3, 0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 1 1 1 0 Config 1
{1, 3, 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}},
{{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // 1 1 1 1 1 1 1 1
{0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}}
} ;
//#if 0
//----------------------------------------------------------------------------
// Tabella triangoli MC
static int TriangleTable[256][16] = {
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 2, 10, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 8, 3, 2, 10, 8, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1},
{3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 11, 2, 8, 11, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 11, 2, 1, 9, 11, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1},
{3, 10, 1, 11, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 10, 1, 0, 8, 10, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1},
{3, 9, 0, 3, 11, 9, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1},
{9, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 4, 7, 3, 0, 4, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1},
{9, 2, 10, 9, 0, 2, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1},
{2, 10, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1},
{8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{11, 4, 7, 11, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1},
{9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1},
{4, 7, 11, 9, 4, 11, 9, 11, 2, 9, 2, 1, -1, -1, -1, -1},
{3, 10, 1, 3, 11, 10, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1},
{1, 11, 10, 1, 4, 11, 1, 0, 4, 7, 11, 4, -1, -1, -1, -1},
{4, 7, 8, 9, 0, 11, 9, 11, 10, 11, 0, 3, -1, -1, -1, -1},
{4, 7, 11, 4, 11, 9, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1},
{5, 2, 10, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1},
{2, 10, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1},
{9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 11, 2, 0, 8, 11, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1},
{0, 5, 4, 0, 1, 5, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1},
{2, 1, 5, 2, 5, 8, 2, 8, 11, 4, 8, 5, -1, -1, -1, -1},
{10, 3, 11, 10, 1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1},
{4, 9, 5, 0, 8, 1, 8, 10, 1, 8, 11, 10, -1, -1, -1, -1},
{5, 4, 0, 5, 0, 11, 5, 11, 10, 11, 0, 3, -1, -1, -1, -1},
{5, 4, 8, 5, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1},
{9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1},
{0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1},
{1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 7, 8, 9, 5, 7, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1},
{10, 1, 2, 9, 5, 0, 5, 3, 0, 5, 7, 3, -1, -1, -1, -1},
{8, 0, 2, 8, 2, 5, 8, 5, 7, 10, 5, 2, -1, -1, -1, -1},
{2, 10, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1},
{7, 9, 5, 7, 8, 9, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 11, -1, -1, -1, -1},
{2, 3, 11, 0, 1, 8, 1, 7, 8, 1, 5, 7, -1, -1, -1, -1},
{11, 2, 1, 11, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 8, 8, 5, 7, 10, 1, 3, 10, 3, 11, -1, -1, -1, -1},
{5, 7, 0, 5, 0, 9, 7, 11, 0, 1, 0, 10, 11, 10, 0, -1},
{11, 10, 0, 11, 0, 3, 10, 5, 0, 8, 0, 7, 5, 7, 0, -1},
{11, 10, 5, 7, 11, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 8, 3, 1, 9, 8, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1},
{1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 6, 5, 1, 2, 6, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1},
{9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1},
{5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1},
{2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{11, 0, 8, 11, 2, 0, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1},
{5, 10, 6, 1, 9, 2, 9, 11, 2, 9, 8, 11, -1, -1, -1, -1},
{6, 3, 11, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 11, 0, 11, 5, 0, 5, 1, 5, 11, 6, -1, -1, -1, -1},
{3, 11, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1},
{6, 5, 9, 6, 9, 11, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1},
{5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 3, 0, 4, 7, 3, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1},
{1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1},
{10, 6, 5, 1, 9, 7, 1, 7, 3, 7, 9, 4, -1, -1, -1, -1},
{6, 1, 2, 6, 5, 1, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 5, 5, 2, 6, 3, 0, 4, 3, 4, 7, -1, -1, -1, -1},
{8, 4, 7, 9, 0, 5, 0, 6, 5, 0, 2, 6, -1, -1, -1, -1},
{7, 3, 9, 7, 9, 4, 3, 2, 9, 5, 9, 6, 2, 6, 9, -1},
{3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1},
{5, 10, 6, 4, 7, 2, 4, 2, 0, 2, 7, 11, -1, -1, -1, -1},
{0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1},
{9, 2, 1, 9, 11, 2, 9, 4, 11, 7, 11, 4, 5, 10, 6, -1},
{8, 4, 7, 3, 11, 5, 3, 5, 1, 5, 11, 6, -1, -1, -1, -1},
{5, 1, 11, 5, 11, 6, 1, 0, 11, 7, 11, 4, 0, 4, 11, -1},
{0, 5, 9, 0, 6, 5, 0, 3, 6, 11, 6, 3, 8, 4, 7, -1},
{6, 5, 9, 6, 9, 11, 4, 7, 9, 7, 11, 9, -1, -1, -1, -1},
{10, 4, 9, 6, 4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 10, 6, 4, 9, 10, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1},
{10, 0, 1, 10, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1},
{8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 10, -1, -1, -1, -1},
{1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 8, 1, 2, 9, 2, 4, 9, 2, 6, 4, -1, -1, -1, -1},
{0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1},
{10, 4, 9, 10, 6, 4, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 2, 2, 8, 11, 4, 9, 10, 4, 10, 6, -1, -1, -1, -1},
{3, 11, 2, 0, 1, 6, 0, 6, 4, 6, 1, 10, -1, -1, -1, -1},
{6, 4, 1, 6, 1, 10, 4, 8, 1, 2, 1, 11, 8, 11, 1, -1},
{9, 6, 4, 9, 3, 6, 9, 1, 3, 11, 6, 3, -1, -1, -1, -1},
{8, 11, 1, 8, 1, 0, 11, 6, 1, 9, 1, 4, 6, 4, 1, -1},
{3, 11, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1},
{6, 4, 8, 11, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 10, 6, 7, 8, 10, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1},
{0, 7, 3, 0, 10, 7, 0, 9, 10, 6, 7, 10, -1, -1, -1, -1},
{10, 6, 7, 1, 10, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1},
{10, 6, 7, 10, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1},
{2, 6, 9, 2, 9, 1, 6, 7, 9, 0, 9, 3, 7, 3, 9, -1},
{7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1},
{7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 3, 11, 10, 6, 8, 10, 8, 9, 8, 6, 7, -1, -1, -1, -1},
{2, 0, 7, 2, 7, 11, 0, 9, 7, 6, 7, 10, 9, 10, 7, -1},
{1, 8, 0, 1, 7, 8, 1, 10, 7, 6, 7, 10, 2, 3, 11, -1},
{11, 2, 1, 11, 1, 7, 10, 6, 1, 6, 7, 1, -1, -1, -1, -1},
{8, 9, 6, 8, 6, 7, 9, 1, 6, 11, 6, 3, 1, 3, 6, -1},
{0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 8, 0, 7, 0, 6, 3, 11, 0, 11, 6, 0, -1, -1, -1, -1},
{7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{8, 1, 9, 8, 3, 1, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1},
{10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1},
{2, 9, 0, 2, 10, 9, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1},
{6, 11, 7, 2, 10, 3, 10, 8, 3, 10, 9, 8, -1, -1, -1, -1},
{7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1},
{2, 7, 6, 2, 3, 7, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1},
{1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1},
{10, 7, 6, 10, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1},
{10, 7, 6, 1, 7, 10, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1},
{0, 3, 7, 0, 7, 10, 0, 10, 9, 6, 10, 7, -1, -1, -1, -1},
{7, 6, 10, 7, 10, 8, 8, 10, 9, -1, -1, -1, -1, -1, -1, -1},
{6, 8, 4, 11, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 6, 11, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1},
{8, 6, 11, 8, 4, 6, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1},
{9, 4, 6, 9, 6, 3, 9, 3, 1, 11, 3, 6, -1, -1, -1, -1},
{6, 8, 4, 6, 11, 8, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 3, 0, 11, 0, 6, 11, 0, 4, 6, -1, -1, -1, -1},
{4, 11, 8, 4, 6, 11, 0, 2, 9, 2, 10, 9, -1, -1, -1, -1},
{10, 9, 3, 10, 3, 2, 9, 4, 3, 11, 3, 6, 4, 6, 3, -1},
{8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1},
{0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 9, 0, 2, 3, 4, 2, 4, 6, 4, 3, 8, -1, -1, -1, -1},
{1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1},
{8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 10, 1, -1, -1, -1, -1},
{10, 1, 0, 10, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1},
{4, 6, 3, 4, 3, 8, 6, 10, 3, 0, 3, 9, 10, 9, 3, -1},
{10, 9, 4, 6, 10, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1},
{5, 0, 1, 5, 4, 0, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1},
{11, 7, 6, 8, 3, 4, 3, 5, 4, 3, 1, 5, -1, -1, -1, -1},
{9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1},
{6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5, -1, -1, -1, -1},
{7, 6, 11, 5, 4, 10, 4, 2, 10, 4, 0, 2, -1, -1, -1, -1},
{3, 4, 8, 3, 5, 4, 3, 2, 5, 10, 5, 2, 11, 7, 6, -1},
{7, 2, 3, 7, 6, 2, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1},
{9, 5, 4, 0, 8, 6, 0, 6, 2, 6, 8, 7, -1, -1, -1, -1},
{3, 6, 2, 3, 7, 6, 1, 5, 0, 5, 4, 0, -1, -1, -1, -1},
{6, 2, 8, 6, 8, 7, 2, 1, 8, 4, 8, 5, 1, 5, 8, -1},
{9, 5, 4, 10, 1, 6, 1, 7, 6, 1, 3, 7, -1, -1, -1, -1},
{1, 6, 10, 1, 7, 6, 1, 0, 7, 8, 7, 0, 9, 5, 4, -1},
{4, 0, 10, 4, 10, 5, 0, 3, 10, 6, 10, 7, 3, 7, 10, -1},
{7, 6, 10, 7, 10, 8, 5, 4, 10, 4, 8, 10, -1, -1, -1, -1},
{6, 9, 5, 6, 11, 9, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1},
{3, 6, 11, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1},
{0, 11, 8, 0, 5, 11, 0, 1, 5, 5, 6, 11, -1, -1, -1, -1},
{6, 11, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 10, 9, 5, 11, 9, 11, 8, 11, 5, 6, -1, -1, -1, -1},
{0, 11, 3, 0, 6, 11, 0, 9, 6, 5, 6, 9, 1, 2, 10, -1},
{11, 8, 5, 11, 5, 6, 8, 0, 5, 10, 5, 2, 0, 2, 5, -1},
{6, 11, 3, 6, 3, 5, 2, 10, 3, 10, 5, 3, -1, -1, -1, -1},
{5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1},
{9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1},
{1, 5, 8, 1, 8, 0, 5, 6, 8, 3, 8, 2, 6, 2, 8, -1},
{1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 3, 6, 1, 6, 10, 3, 8, 6, 5, 6, 9, 8, 9, 6, -1},
{10, 1, 0, 10, 0, 6, 9, 5, 0, 5, 6, 0, -1, -1, -1, -1},
{0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{11, 5, 10, 7, 5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{11, 5, 10, 11, 7, 5, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1},
{5, 11, 7, 5, 10, 11, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1},
{10, 7, 5, 10, 11, 7, 9, 8, 1, 8, 3, 1, -1, -1, -1, -1},
{11, 1, 2, 11, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 1, 2, 7, 1, 7, 5, 7, 2, 11, -1, -1, -1, -1},
{9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 11, 7, -1, -1, -1, -1},
{7, 5, 2, 7, 2, 11, 5, 9, 2, 3, 2, 8, 9, 8, 2, -1},
{2, 5, 10, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1},
{8, 2, 0, 8, 5, 2, 8, 7, 5, 10, 2, 5, -1, -1, -1, -1},
{9, 0, 1, 5, 10, 3, 5, 3, 7, 3, 10, 2, -1, -1, -1, -1},
{9, 8, 2, 9, 2, 1, 8, 7, 2, 10, 2, 5, 7, 5, 2, -1},
{1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1},
{9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1},
{9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{5, 8, 4, 5, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1},
{5, 0, 4, 5, 11, 0, 5, 10, 11, 11, 3, 0, -1, -1, -1, -1},
{0, 1, 9, 8, 4, 10, 8, 10, 11, 10, 4, 5, -1, -1, -1, -1},
{10, 11, 4, 10, 4, 5, 11, 3, 4, 9, 4, 1, 3, 1, 4, -1},
{2, 5, 1, 2, 8, 5, 2, 11, 8, 4, 5, 8, -1, -1, -1, -1},
{0, 4, 11, 0, 11, 3, 4, 5, 11, 2, 11, 1, 5, 1, 11, -1},
{0, 2, 5, 0, 5, 9, 2, 11, 5, 4, 5, 8, 11, 8, 5, -1},
{9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 5, 10, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1},
{5, 10, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1},
{3, 10, 2, 3, 5, 10, 3, 8, 5, 4, 5, 8, 0, 1, 9, -1},
{5, 10, 2, 5, 2, 4, 1, 9, 2, 9, 4, 2, -1, -1, -1, -1},
{8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1},
{0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{8, 4, 5, 8, 5, 3, 9, 0, 5, 0, 3, 5, -1, -1, -1, -1},
{9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 11, 7, 4, 9, 11, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1},
{0, 8, 3, 4, 9, 7, 9, 11, 7, 9, 10, 11, -1, -1, -1, -1},
{1, 10, 11, 1, 11, 4, 1, 4, 0, 7, 4, 11, -1, -1, -1, -1},
{3, 1, 4, 3, 4, 8, 1, 10, 4, 7, 4, 11, 10, 11, 4, -1},
{4, 11, 7, 9, 11, 4, 9, 2, 11, 9, 1, 2, -1, -1, -1, -1},
{9, 7, 4, 9, 11, 7, 9, 1, 11, 2, 11, 1, 0, 8, 3, -1},
{11, 7, 4, 11, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1},
{11, 7, 4, 11, 4, 2, 8, 3, 4, 3, 2, 4, -1, -1, -1, -1},
{2, 9, 10, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1},
{9, 10, 7, 9, 7, 4, 10, 2, 7, 8, 7, 0, 2, 0, 7, -1},
{3, 7, 10, 3, 10, 2, 7, 4, 10, 1, 10, 0, 4, 0, 10, -1},
{1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1},
{4, 9, 1, 4, 1, 7, 0, 8, 1, 8, 7, 1, -1, -1, -1, -1},
{4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{9, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 9, 3, 9, 11, 11, 9, 10, -1, -1, -1, -1, -1, -1, -1},
{0, 1, 10, 0, 10, 8, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1},
{3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 2, 11, 1, 11, 9, 9, 11, 8, -1, -1, -1, -1, -1, -1, -1},
{3, 0, 9, 3, 9, 11, 1, 2, 9, 2, 11, 9, -1, -1, -1, -1},
{0, 2, 11, 8, 0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 3, 8, 2, 8, 10, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1},
{9, 10, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{2, 3, 8, 2, 8, 10, 0, 1, 8, 1, 10, 8, -1, -1, -1, -1},
{1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
} ;
//#endif
// Vettore configurazioni: l'indice del vettore è la configurazione dei vertici,
// il valore corrispondente è la tipologia di configurazione. In questo modo si
// può velocemente risalire al tipo di configurazione
static int nAllConfig[256] = {/* 0 */ 0,
/* 1 */ 1,
/* 2 */ 1,
/* 3 */ 2,
/* 4 */ -1,
/* 5 */ 3,
/* 6 */ 2,
/* 7 */ -1,
/* 8 */ -1,
/* 9 */ 2,
/* 10 */ 3,
/* 11 */ -1,
/* 12 */ 2,
/* 13 */ -1,
/* 14 */ -1,
/* 15 */ 8,
/* 16 */ -1,
/* 17 */ 2,
/* 18 */ 3,
/* 19 */ -1,
/* 20 */ -1,
/* 21 */ 6,
/* 22 */ 6,
/* 23 */ -1,
/* 24 */ 3,
/* 25 */ 5,
/* 26 */ 7,
/* 27 */ -1,
/* 28 */ 6,
/* 29 */ -1,
/* 30 */ -1,
/* 31 */ -1,
/* 32 */ -1,
/* 33 */ 3,
/* 34 */ 2,
/* 35 */ -1,
/* 36 */ 3,
/* 37 */ 7,
/* 38 */ -1,
/* 39 */ -1,
/* 40 */ -1,
/* 41 */ 6,
/* 42 */ 6,
/* 43 */ -1,
/* 44 */ 6,
/* 45 */ -1,
/* 46 */ -1,
/* 47 */ -1,
/* 48 */ 2,
/* 49 */ -1,
/* 50 */ -1,
/* 51 */ 8,
/* 52 */ 6,
/* 53 */ -1,
/* 54 */ -1,
/* 55 */ -1,
/* 56 */ 6,
/* 57 */ -1,
/* 58 */ -1,
/* 59 */ -1,
/* 60 */ 10,
/* 61 */ 6,
/* 62 */ 6,
/* 63 */ 2,
/* 64 */ -1,
/* 65 */ -1,
/* 66 */ 3,
/* 67 */ 6,
/* 68 */ 2,
/* 69 */ 6,
/* 70 */ -1,
/* 71 */ -1,
/* 72 */ 3,
/* 73 */ 6,
/* 74 */ 7,
/* 75 */ -1,
/* 76 */ -1,
/* 77 */ -1,
/* 78 */ -1,
/* 79 */ -1,
/* 80 */ 3,
/* 81 */ 6,
/* 82 */ 7,
/* 83 */ -1,
/* 84 */ 6,
/* 85 */ 10,
/* 86 */ -1,
/* 87 */ 6,
/* 88 */ 7,
/* 89 */ -1,
/* 90 */ -1,
/* 91 */ 7,
/* 92 */ -1,
/* 93 */ 6,
/* 94 */ 7,
/* 95 */ 3,
/* 96 */ 2,
/* 97 */ 6,
/* 98 */ -1,
/* 99 */ -1,
/* 100 */ -1,
/* 101 */ -1,
/* 102 */ 8,
/* 103 */ -1,
/* 104 */ 6,
/* 105 */ 10,
/* 106 */ -1,
/* 107 */ 6,
/* 108 */ -1,
/* 109 */ 6,
/* 110 */ -1,
/* 111 */ 2,
/* 112 */ -1,
/* 113 */ -1,
/* 114 */ -1,
/* 115 */ -1,
/* 116 */ -1,
/* 117 */ 6,
/* 118 */ -1,
/* 119 */ 2,
/* 120 */ -1,
/* 121 */ 6,
/* 122 */ 7,
/* 123 */ 3,
/* 124 */ 6,
/* 125 */ -1,
/* 126 */ 3,
/* 127 */ -1,
/* 128 */ -1,
/* 129 */ 3,
/* 130 */ -1,
/* 131 */ 6,
/* 132 */ 3,
/* 133 */ 7,
/* 134 */ 6,
/* 135 */ -1,
/* 136 */ 2,
/* 137 */ -1,
/* 138 */ 6,
/* 139 */ -1,
/* 140 */ -1,
/* 141 */ -1,
/* 142 */ -1,
/* 143 */ -1,
/* 144 */ 2,
/* 145 */ -1,
/* 146 */ 6,
/* 147 */ -1,
/* 148 */ 6,
/* 149 */ -1,
/* 150 */ 10,
/* 151 */ 6,
/* 152 */ -1,
/* 153 */ 8,
/* 154 */ -1,
/* 155 */ -1,
/* 156 */ -1,
/* 157 */ -1,
/* 158 */ 6,
/* 159 */ 2,
/* 160 */ 3,
/* 161 */ 7,
/* 162 */ 6,
/* 163 */ -1,
/* 164 */ 7,
/* 165 */ -1,
/* 166 */ -1,
/* 167 */ 7,
/* 168 */ 6,
/* 169 */ -1,
/* 170 */ 10,
/* 171 */ 6,
/* 172 */ -1,
/* 173 */ 7,
/* 174 */ 6,
/* 175 */ 3,
/* 176 */ -1,
/* 177 */ -1,
/* 178 */ -1,
/* 179 */ -1,
/* 180 */ -1,
/* 181 */ 7,
/* 182 */ 6,
/* 183 */ 3,
/* 184 */ -1,
/* 185 */ -1,
/* 186 */ 6,
/* 187 */ 2,
/* 188 */ 6,
/* 189 */ 3,
/* 190 */ -1,
/* 191 */ -1,
/* 192 */ 2,
/* 193 */ 6,
/* 194 */ 6,
/* 195 */ 10,
/* 196 */ -1,
/* 197 */ -1,
/* 198 */ -1,
/* 199 */ 6,
/* 200 */ -1,
/* 201 */ -1,
/* 202 */ -1,
/* 203 */ 6,
/* 204 */ 8,
/* 205 */ -1,
/* 206 */ -1,
/* 207 */ 2,
/* 208 */ -1,
/* 209 */ -1,
/* 210 */ -1,
/* 211 */ 6,
/* 212 */ -1,
/* 213 */ 6,
/* 214 */ 6,
/* 215 */ -1,
/* 216 */ -1,
/* 217 */ -1,
/* 218 */ 7,
/* 219 */ 3,
/* 220 */ -1,
/* 221 */ 2,
/* 222 */ 3,
/* 223 */ -1,
/* 224 */ -1,
/* 225 */ -1,
/* 226 */ -1,
/* 227 */ 6,
/* 228 */ -1,
/* 229 */ 7,
/* 230 */ -1,
/* 231 */ 3,
/* 232 */ -1,
/* 233 */ 6,
/* 234 */ 6,
/* 235 */ -1,
/* 236 */ -1,
/* 237 */ 3,
/* 238 */ 2,
/* 239 */ -1,
/* 240 */ 8,
/* 241 */ -1,
/* 242 */ -1,
/* 243 */ 2,
/* 244 */ -1,
/* 245 */ 3,
/* 246 */ 2,
/* 247 */ -1,
/* 248 */ -1,
/* 249 */ 2,
/* 250 */ 3,
/* 251 */ -1,
/* 252 */ 2,
/* 253 */ -1,
/* 254 */ -1,
/* 255 */ -1,
};
// Gestione dei casi in configurazione 3
// Vettore [indici in configurazione 3] ordina gli indici: se ho l'inidce j, che è in posizione i, per sapere
// la faccia da guardare leggo nAdjVox3[i]
static int nIndexConfig3[24] = { 5, 10, 18, 24, 33, 36, 66, 72, 80, 95, 123, 126, 129, 132,
160, 175, 183, 189, 219, 222, 231, 237, 245, 250} ;
// Tabella adiacenze di ambiguità
static int nAdjVox3[24] = { -3, -3, -2, -1, -2, 1, 1, 2, 3, 3, 2, -1, -1, 2, 3, 3, 2, 1, 1, -2, -1, -2, -3, -3} ;
// Matrice [indici in configurazione 3, indice del caso Plus corrispondente]
static int nIndexVsIndex3[24][2] = { { 5, 0 },
{ 10, 3 },
{ 18, 4 },
{ 24, 8 },
{ 33, 1 },
{ 36, 6 },
{ 66, 5 },
{ 72, 9 },
{ 80, 10 },
{ 95, 12 },
{ 123, 16 },
{ 126, 21 },
{ 129, 2 },
{ 132, 7 },
{ 160, 11 },
{ 175, 13 },
{ 183, 14 },
{ 189, 18 },
{ 219, 17 },
{ 222, 22 },
{ 231, 15 },
{ 237, 19 },
{ 245, 20 },
{ 250, 23 }
} ;
static int Cases3Plus[24][2][12] = {
/* 5: 0, 2, */ {{ 10, 3, 2, 10, 8, 3, 10, 1, 0, 8, 10, 0 }, // 0
{ 1, 6, 0, 8, 3, 2, 10, 1, -1, -1, -1, -1 }},
/* 33: 0, 5, */ {{ 3, 4, 8, 3, 5, 4, 3, 0, 9, 5, 3, 9 }, // 1
{ 1, 6, 0, 9, 5, 4, 8, 3, -1, -1, -1, -1 }},
/* 129: 0, 7, */ {{ 6, 8, 7, 6, 0, 8, 6, 11, 3, 0, 6, 3 }, // 2
{ 1, 6, 6, 11, 3, 0, 8, 7, -1, -1, -1, -1 }},
/* 10: 1, 3, */ {{ 11, 0, 3, 11, 9, 0, 11, 2, 1, 9, 11, 1 }, // 3
{ 1, 6, 0, 3, 11, 2, 1, 9, -1, -1, -1, -1 }},
/* 18: 1, 4, */ {{ 7, 9, 4, 7, 1, 9, 7, 8, 0, 1, 7, 0 }, // 4
{ 1, 6, 0, 1, 9, 4, 7, 8, -1, -1, -1, -1 }},
/* 66: 1, 6, */ {{ 6, 1, 10, 6, 0, 1, 9, 0, 6, 9, 6, 5 }, // 5
{ 1, 6, 0, 1, 10, 6, 5, 9, -1, -1, -1, -1 }},
/* 36: 2, 5, */ {{ 4, 10, 5, 4, 2, 10, 4, 9, 1, 2, 4, 1 }, // 6
{ 1, 6, 1, 2, 10, 5, 4, 9, -1, -1, -1, -1 }},
/* 132: 2, 7, */ {{ 7, 2, 11, 7, 1, 2, 7, 6, 10, 1, 7, 10 }, // 7
{ 1, 6, 1, 2, 11, 7, 6, 10, -1, -1, -1, -1 }},
/* 24: 3, 4, */ {{ 2, 7, 11, 2, 4, 7, 2, 3, 8, 4, 2, 8 }, // 8
{ 1, 6, 2, 3, 8, 4, 7, 11, -1, -1, -1, -1 }},
/* 72: 3, 6, */ {{ 5, 11, 6, 5, 3, 11, 5, 10, 2, 3, 5, 2 }, // 9
{ 1, 6, 2, 3, 11, 6, 5, 10, -1, -1, -1, -1 }},
/* 80: 4, 6, */ {{ 8, 6, 7, 8, 10, 6, 8, 4, 5, 10, 8, 5 }, // 10
{ 1, 6, 4, 5, 10, 6, 7, 8, -1, -1, -1, -1 }},
/* 160: 5, 7, */ {{ 11, 5, 6, 11, 9, 5, 11, 7, 4, 9, 11, 4 }, // 11
{ 1, 6, 4, 9, 5, 6, 11, 7, -1, -1, -1, -1 }},
/* 95: 0, 1, 2, 3, 4, 6, */ {{ 6, 5, 11, 5, 9, 11, 4, 7, 11, 4, 11, 9 }, // 12
{ 1, 6, 7, 11, 6, 5, 9, 4, -1, -1, -1, -1 }},
/* 175: 0, 1, 2, 3, 5, 7, */ {{ 7, 6, 8, 6, 10, 8, 5, 4, 8, 5, 8, 10 }, // 13
{ 1, 6, 8, 7, 6, 10, 5, 4, -1, -1, -1, -1 }},
/* 183: 0, 1, 2, 4, 5, 7, */ {{ 6, 11, 5, 11, 3, 5, 2, 10, 5, 2, 5, 3 }, // 14
{ 1, 6, 10, 5, 6, 11, 3, 2, -1, -1, -1, -1 }},
/* 231: 0, 1, 2, 5, 6, 7, */ {{ 11, 7, 2, 7, 4, 2, 8, 3, 2, 8, 2, 4 }, // 15
{ 1, 6, 4, 8, 3, 2, 11, 7, -1, -1, -1, -1 }},
/* 123: 0, 1, 3, 4, 5, 6, */ {{ 11, 2, 7, 2, 1, 7, 10, 6, 7, 10, 7, 1 }, // 16
{ 1, 6, 10, 6, 7, 11, 2, 1, -1, -1, -1, -1 }},
/* 219: 0, 1, 3, 4, 6, 7, */ {{ 5, 10, 4, 10, 2, 4, 1, 9, 4, 1, 4, 2 }, // 17
{ 1, 6, 9, 4, 5, 10, 2, 1, -1, -1, -1, -1 }},
/* 189: 0, 2, 3, 4, 5, 7, */ {{ 10, 1, 6, 1, 0, 6, 6, 0, 9, 5, 6, 9 }, // 18
{ 1, 6, 9, 5, 6, 10, 1, 0, -1, -1, -1, -1 }},
/* 237: 0, 2, 3, 5, 6, 7, */ {{ 4, 9, 7, 9, 1, 7, 0, 8, 7, 0, 7, 1 }, // 19
{ 1, 6, 8, 7, 4, 9, 1, 0, -1, -1, -1, -1 }},
/* 245: 0, 2, 4, 5, 6, 7, */ {{ 3, 0, 11, 0, 9, 11, 1, 2, 11, 1, 11, 9 }, // 20
{ 1, 6, 9, 1, 2, 11, 3, 0, -1, -1, -1, -1 }},
/* 126: 1, 2, 3, 4, 5, 6, */ {{ 7, 8, 6, 8, 0, 6, 3, 11, 6, 3, 6, 0 }, // 21
{ 1, 6, 0, 3, 11, 6, 7, 8, -1, -1, -1, -1 }},
/* 222: 1, 2, 3, 4, 6, 7, */ {{ 8, 4, 3, 4, 5, 3, 9, 0, 3, 9, 3, 5 }, // 22
{ 1, 6, 3, 8, 4, 5, 9, 0, -1, -1, -1, -1 }},
/* 250: 1, 3, 4, 5, 6, 7, */ {{ 2, 3, 10, 3, 8, 10, 0, 1, 10, 0, 10, 8 }, // 23
{ 1, 6, 1, 10, 2, 3, 8, 0, -1, -1, -1, -1 }},
} ;
// Gestione dei casi in configurazione 6
// Vettore [indici in configurazione 6] ordina gli indici: se ho l'inidce j, che è in posizione i, per sapere
// la faccia da guardare leggo nAdjVox6[i]
static int nIndexConfig6[48] = { 21, 22, 28, 41, 42, 44, 52, 56, 61, 62, 67, 69, 73, 81, 84, 87, 93, 97,
104, 107, 109, 117, 121, 124, 131, 134, 138, 146, 148, 151, 158, 162, 168,
171, 174, 182, 186, 188, 193, 194, 199, 203, 211, 213, 214, 227, 233, 234} ;
// Tabella adiacenze di ambiguità
static int nAdjVox6[48] = { -3, -2, -1, -2, -3, 1, 1, -1, 1, -1, 1, -3, 2, 3, 3, 3, 3, -2, 2, 2, -2, -3, 2,
-1, -1, 2, -3, -2, 2, 2, -2, 3, 3, 3, 3, 2, -3, 1, -1, 1, -1, 1, 1, -3, -2, -1, -2, -3} ;
// Matrice [indici in configurazione 6, indice del caso Plus corrispondente]
static int nIndexVsIndex6[48][2] = { { 21 , 2 },
{ 22 , 9 },
{ 28 , 16 },
{ 41 , 4 },
{ 42 , 11 },
{ 44 , 17 },
{ 52 , 18 },
{ 56 , 21 },
{ 61 , 32 },
{ 62 , 39 },
{ 67 , 0 },
{ 69 , 3 },
{ 73 , 5 },
{ 81 , 6 },
{ 84 , 19 },
{ 87 , 24 },
{ 93 , 33 },
{ 97 , 7 },
{ 104, 22 },
{ 107, 27 },
{ 109, 34 },
{ 117, 35 },
{ 121, 37 },
{ 124, 46 },
{ 131, 1 },
{ 134, 10 },
{ 138, 12 },
{ 146, 13 },
{ 148, 20 },
{ 151, 25 },
{ 158, 40 },
{ 162, 14 },
{ 168, 23 },
{ 171, 28 },
{ 174, 41 },
{ 182, 42 },
{ 186, 44 },
{ 188, 47 },
{ 193, 8 },
{ 194, 15 },
{ 199, 26 },
{ 203, 29 },
{ 211, 30 },
{ 213, 36 },
{ 214, 43 },
{ 227, 31 },
{ 233, 38 },
{ 234, 45 },
} ;
static int Cases6Plus[48][2][15] = {
/* 67: 0, 1, 6, */ {{ 1, 10, 3, 6, 3, 10, 3, 6, 8, 5, 8, 6, 8, 5, 9 },// 0
{ 1, 7, 1, 10, 6, 5, 9, 8, 3, -1, -1, -1, -1, -1, -1}},
/* 131: 0, 1, 7, */ {{ 1, 11, 3, 11, 1, 6, 9, 6, 1, 6, 9, 7, 8, 7, 9 },// 1
{ 1, 7, 1, 9, 8, 7, 6, 11, 3, -1, -1, -1, -1, -1, -1}},
/* 21: 0, 2, 4, */ {{ 4, 1, 0, 1, 4, 10, 7, 10, 4, 10, 7, 2, 3, 2, 7 },// 2
{ 1, 7, 0, 4, 7, 3, 2, 10, 1, -1, -1, -1, -1, -1, -1}},
/* 69: 0, 2, 6, */ {{ 6, 3, 2, 3, 6, 8, 5, 8, 6, 8, 5, 0, 1, 0, 5 },// 3
{ 1, 7, 0, 8, 3, 2, 6, 5, 1, -1, -1, -1, -1, -1, -1}},
/* 41: 0, 3, 5, */ {{ 0, 9, 2, 5, 2, 9, 2, 5, 11, 4, 11, 5, 11, 4, 8 },// 4
{ 1, 7, 0, 9, 5, 4, 8, 11, 2, -1, -1, -1, -1, -1, -1}},
/* 73: 0, 3, 6, */ {{ 0, 10, 2, 10, 0, 5, 8, 5, 0, 5, 8, 6, 11, 6, 8 },// 5
{ 1, 7, 0, 8, 11, 6, 5, 10, 2, -1, -1, -1, -1, -1, -1}},
/* 81: 0, 4, 6, */ {{ 4, 5, 0, 10, 0, 5, 0, 10, 3, 6, 3, 10, 3, 6, 7 },// 6
{ 1, 7, 0, 4, 5, 10, 6, 7, 3, -1, -1, -1, -1, -1, -1}},
/* 97: 0, 5, 6, */ {{ 4, 8, 6, 3, 6, 8, 6, 3, 10, 0, 10, 3, 10, 0, 9 },// 7
{ 1, 7, 0, 9, 10, 6, 4, 8, 3, -1, -1, -1, -1, -1, -1}},
/* 193: 0, 6, 7, */ {{ 5, 8, 7, 8, 5, 0, 10, 0, 5, 0, 10, 3, 11, 3, 10 },// 8
{ 1, 7, 0, 8, 7, 5, 10, 11, 3, -1, -1, -1, -1, -1, -1}},
/* 22: 1, 2, 4, */ {{ 2, 8, 0, 8, 2, 7, 10, 7, 2, 7, 10, 4, 9, 4, 10 },// 9
{ 1, 7, 0, 2, 10, 9, 4, 7, 8, -1, -1, -1, -1, -1, -1}},
/* 134: 1, 2, 7, */ {{ 2, 11, 0, 7, 0, 11, 0, 7, 9, 6, 9, 7, 9, 6, 10 },// 10
{ 1, 7, 0, 2, 11, 7, 6, 10, 9, -1, -1, -1, -1, -1, -1}},
/* 42: 1, 3, 5, */ {{ 5, 2, 1, 2, 5, 11, 4, 11, 5, 11, 4, 3, 0, 3, 4 },// 11
{ 1, 7, 0, 3, 11, 2, 1, 5, 4, -1, -1, -1, -1, -1, -1}},
/* 138: 1, 3, 7, */ {{ 7, 0, 3, 0, 7, 9, 6, 9, 7, 9, 6, 1, 2, 1, 6 },// 12
{ 1, 7, 0, 3, 7, 6, 2, 1, 9, -1, -1, -1, -1, -1, -1}},
/* 146: 1, 4, 7, */ {{ 6, 9, 4, 9, 6, 1, 11, 1, 6, 1, 11, 0, 8, 0, 11 },// 13
{ 1, 7, 0, 1, 9, 4, 6, 11, 8, -1, -1, -1, -1, -1, -1}},
/* 162: 1, 5, 7, */ {{ 5, 6, 1, 11, 1, 6, 1, 11, 0, 7, 0, 11, 0, 7, 4 },// 14
{ 1, 7, 0, 1, 5, 6, 11, 7, 4, -1, -1, -1, -1, -1, -1}},
/* 194: 1, 6, 7, */ {{ 5, 9, 7, 0, 7, 9, 7, 0, 11, 1, 11, 0, 11, 1, 10 },// 15
{ 1, 7, 0, 1, 10, 11, 7, 5, 9, -1, -1, -1, -1, -1, -1}},
/* 28: 2, 3, 4, */ {{ 3, 8, 1, 4, 1, 8, 1, 4, 10, 7, 10, 4, 10, 7, 11 },// 16
{ 1, 7, 1, 3, 8, 4, 7, 11, 10, -1, -1, -1, -1, -1, -1}},
/* 44: 2, 3, 5, */ {{ 3, 9, 1, 9, 3, 4, 11, 4, 3, 4, 11, 5, 10, 5, 11 },// 17
{ 1, 7, 1, 3, 11, 10, 5, 4, 9, -1, -1, -1, -1, -1, -1}},
/* 52: 2, 4, 5, */ {{ 7, 10, 5, 10, 7, 2, 8, 2, 7, 2, 8, 1, 9, 1, 8 },// 18
{ 1, 7, 1, 2, 10, 5, 7, 8, 9, -1, -1, -1, -1, -1, -1}},
/* 84: 2, 4, 6, */ {{ 6, 7, 2, 8, 2, 7, 2, 8, 1, 4, 1, 8, 1, 4, 5 },// 19
{ 1, 7, 1, 2, 6, 7, 8, 4, 5, -1, -1, -1, -1, -1, -1}},
/* 148: 2, 4, 7, */ {{ 6, 10, 4, 1, 4, 10, 4, 1, 8, 2, 8, 1, 8, 2, 11 },// 20
{ 1, 7, 1, 2, 11, 8, 4, 6, 10, -1, -1, -1, -1, -1, -1}},
/* 56: 3, 4, 5, */ {{ 7, 11, 5, 2, 5, 11, 5, 2, 9, 3, 9, 2, 9, 3, 8 },// 21
{ 1, 7, 2, 3, 8, 9, 5, 7, 11, -1, -1, -1, -1, -1, -1}},
/* 104: 3, 5, 6, */ {{ 4, 11, 6, 11, 4, 3, 9, 3, 4, 3, 9, 2, 10, 2, 9 },// 22
{ 1, 7, 2, 3, 11, 6, 4, 9, 10, -1, -1, -1, -1, -1, -1}},
/* 168: 3, 5, 7, */ {{ 7, 4, 3, 9, 3, 4, 3, 9, 2, 5, 2, 9, 2, 5, 6 },// 23
{ 1, 7, 2, 3, 7, 4, 9, 5, 6, -1, -1, -1, -1, -1, -1}},
/* 87: 0, 1, 2, 4, 6, */ {{ 3, 4, 7, 4, 3, 9, 2, 9, 3, 9, 2, 5, 6, 5, 2 },// 24
{ 1, 7, 2, 6, 5, 9, 4, 7, 3, -1, -1, -1, -1, -1, -1}},
/* 151: 0, 1, 2, 4, 7, */ {{ 6, 11, 4, 3, 4, 11, 4, 3, 9, 2, 9, 3, 9, 2, 10 },// 25
{ 1, 7, 2, 10, 9, 4, 6, 11, 3, -1, -1, -1, -1, -1, -1}},
/* 199: 0, 1, 2, 6, 7, */ {{ 5, 11, 7, 11, 5, 2, 9, 2, 5, 2, 9, 3, 8, 3, 9 },// 26
{ 1, 7, 2, 11, 7, 5, 9, 8, 3, -1, -1, -1, -1, -1, -1}},
/* 107: 0, 1, 3, 5, 6, */ {{ 4, 10, 6, 10, 4, 1, 8, 1, 4, 1, 8, 2, 11, 2, 8 },// 27
{ 1, 7, 1, 10, 6, 4, 8, 11, 2, -1, -1, -1, -1, -1, -1}},
/* 171: 0, 1, 3, 5, 7, */ {{ 2, 7, 6, 7, 2, 8, 1, 8, 2, 8, 1, 4, 5, 4, 1 },// 28
{ 1, 7, 1, 5, 4, 8, 7, 6, 2, -1, -1, -1, -1, -1, -1}},
/* 203: 0, 1, 3, 6, 7, */ {{ 5, 10, 7, 2, 7, 10, 7, 2, 8, 1, 8, 2, 8, 1, 9 },// 29
{ 1, 7, 1, 9, 8, 7, 5, 10, 2, -1, -1, -1, -1, -1, -1}},
/* 211: 0, 1, 4, 6, 7, */ {{ 1, 9, 3, 4, 3, 9, 3, 4, 11, 5, 11, 4, 11, 5, 10 },// 30
{ 1, 7, 1, 9, 4, 5, 10, 11, 3, -1, -1, -1, -1, -1, -1}},
/* 227: 0, 1, 5, 6, 7, */ {{ 1, 8, 3, 8, 1, 4, 10, 4, 1, 4, 10, 7, 11, 7, 10 },// 31
{ 1, 7, 1, 10, 11, 7, 4, 8, 3, -1, -1, -1, -1, -1, -1}},
/* 61: 0, 2, 3, 4, 5, */ {{ 7, 9, 5, 9, 7, 0, 11, 0, 7, 0, 11, 1, 10, 1, 11 },// 32
{ 1, 7, 0, 9, 5, 7, 11, 10, 1, -1, -1, -1, -1, -1, -1}},
/* 93: 0, 2, 3, 4, 6, */ {{ 1, 6, 5, 6, 1, 11, 0, 11, 1, 11, 0, 7, 4, 7, 0 },// 33
{ 1, 7, 0, 4, 7, 11, 6, 5, 1, -1, -1, -1, -1, -1, -1}},
/* 109: 0, 2, 3, 5, 6, */ {{ 4, 9, 6, 1, 6, 9, 6, 1, 11, 0, 11, 1, 11, 0, 8 },// 34
{ 1, 7, 0, 8, 11, 6, 4, 9, 1, -1, -1, -1, -1, -1, -1}},
/* 117: 0, 2, 4, 5, 6, */ {{ 3, 0, 7, 9, 7, 0, 7, 9, 6, 1, 6, 9, 6, 1, 2 },// 35
{ 1, 7, 0, 9, 1, 2, 6, 7, 3, -1, -1, -1, -1, -1, -1}},
/* 213: 0, 2, 4, 6, 7, */ {{ 1, 2, 5, 11, 5, 2, 5, 11, 4, 3, 4, 11, 4, 3, 0 },// 36
{ 1, 7, 0, 4, 5, 1, 2, 11, 3, -1, -1, -1, -1, -1, -1}},
/* 121: 0, 3, 4, 5, 6, */ {{ 0, 11, 2, 11, 0, 7, 9, 7, 0, 7, 9, 6, 10, 6, 9 },// 37
{ 1, 7, 0, 9, 10, 6, 7, 11, 2, -1, -1, -1, -1, -1, -1}},
/* 233: 0, 3, 5, 6, 7, */ {{ 0, 8, 2, 7, 2, 8, 2, 7, 10, 4, 10, 7, 10, 4, 9 },// 38
{ 1, 7, 0, 8, 7, 4, 9, 10, 2, -1, -1, -1, -1, -1, -1}},
/* 62: 1, 2, 3, 4, 5, */ {{ 7, 8, 5, 0, 5, 8, 5, 0, 10, 3, 10, 0, 10, 3, 11 },// 39
{ 1, 7, 0, 3, 11, 10, 5, 7, 8, -1, -1, -1, -1, -1, -1}},
/* 158: 1, 2, 3, 4, 7, */ {{ 6, 8, 4, 8, 6, 3, 10, 3, 6, 3, 10, 0, 9, 0, 10 },// 40
{ 1, 7, 0, 3, 8, 4, 6, 10, 9, -1, -1, -1, -1, -1, -1}},
/* 174: 1, 2, 3, 5, 7, */ {{ 0, 5, 4, 5, 0, 10, 3, 10, 0, 10, 3, 6, 7, 6, 3 },// 41
{ 1, 7, 0, 3, 7, 6, 10, 5, 4, -1, -1, -1, -1, -1, -1}},
/* 182: 1, 2, 4, 5, 7, */ {{ 2, 10, 0, 5, 0, 10, 0, 5, 8, 6, 8, 5, 8, 6, 11 },// 42
{ 1, 7, 0, 2, 10, 5, 6, 11, 8, -1, -1, -1, -1, -1, -1}},
/* 214: 1, 2, 4, 6, 7, */ {{ 2, 9, 0, 9, 2, 5, 11, 5, 2, 5, 11, 4, 8, 4, 11 },// 43
{ 1, 7, 0, 2, 11, 8, 4, 5, 9, -1, -1, -1, -1, -1, -1}},
/* 186: 1, 3, 4, 5, 7, */ {{ 2, 3, 6, 8, 6, 3, 6, 8, 5, 0, 5, 8, 5, 0, 1 },// 44
{ 1, 7, 0, 1, 5, 6, 2, 3, 8, -1, -1, -1, -1, -1, -1}},
/* 234: 1, 3, 5, 6, 7, */ {{ 0, 1, 4, 10, 4, 1, 4, 10, 7, 2, 7, 10, 7, 2, 3 },// 45
{ 1, 7, 0, 1, 10, 2, 3, 7, 4, -1, -1, -1, -1, -1, -1}},
/* 124: 2, 3, 4, 5, 6, */ {{ 3, 11, 1, 6, 1, 11, 1, 6, 9, 7, 9, 6, 9, 7, 8 },// 46
{ 1, 7, 1, 3, 11, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1}},
/* 188: 2, 3, 4, 5, 7, */ {{ 3, 10, 1, 10, 3, 6, 8, 6, 3, 6, 8, 5, 9, 5, 8 }, // 47
{ 1, 7, 1, 3, 8, 9, 5, 6, 10, -1, -1, -1, -1, -1, -1}}
} ;
// Gestione dei casi in configurazione 7
// Per questa configurazione abbiamo sedici sottoconfigurazioni, i corrispondenti indici sono gli elementi
// del vettore nIndexConfig7. Ogni sottoconfigurazione della prima topologia può avere tre differenti
// sottoconfigurazioni della seconda topologia in base a quali dei tre vertici sono connessi.
// Per connessi intendo raggiungibili attraverso la diagonale senza attraversare la superficie.
// Vettore [indici in configurazione 7] ordina gli indici: se ho l'inidce j, che è in posizione i, per sapere
// la faccia da guardare leggo nAdjVox7[i]
static int nIndexConfig7[16] = { 26, 37, 74, 82, 88, 91, 94, 122, 133, 161, 164, 167, 173, 181, 218, 229} ;
// Tabella adiacenze di ambiguità
static int nAdjVox7[16][3] = { { -1, -2, -3}, { 1, -2, -3}, { 1, 2, -3}, { 1, -2, 3}, { -1, 2, 3}, { 1, 2, 3},
{ -1, -2, 3}, { -1, 2, -3}, { -1, 2, -3}, { -1, -2, 3}, { 1, 2, 3}, { -1, 2, 3},
{ 1, -2, 3}, { 1, 2, -3}, { 1, -2, -3}, { -1, -2, -3}} ;
// Tabella triangoli per la seconda topologia della configurazione 7
// Per ognuna delle 16 sottoconfigurazioni abbiamo i tre possibili casi:
// Il primo connette nodi sulle facce parallele a YZ, il scondo sulle facce
// parallele a XZ e il terzo sulle facce parallele a XY.
// Nei commenti a sinistra per ogni sottoconfigurazione è indicato l'indice
// corrispondente e i nodi pieni del voxel.
static int Cases7Plus[16][3][2][15] = {
/* 26: 1, 3, 4, */ {{{ 2, 3, 8, 8, 4, 2, 4, 7, 2, 7, 11, 2, 1, 0, 9 }, // 0
{ 2, 6, 3, 2, 3, 8, 4, 7, 11, 1, 0, 9, -1, -1, -1 }},
{{ 7, 8, 0, 0, 1, 7, 1, 9, 7, 9, 4, 7, 11, 2, 3 },
{ 2, 6, 3, 7, 8, 0, 1, 9, 4, 11, 2, 3, -1, -1, -1 }},
{{ 11, 2, 1, 1, 9, 11, 9, 0, 11, 0, 3, 11, 4, 7, 8 },
{ 2, 6, 3, 11, 2, 1, 9, 0, 3, 4, 7, 8, -1, -1, -1 }}},
/* 37: 0, 2, 5, */ {{{ 4, 9, 1, 1, 2, 4, 2, 10, 4, 10, 5, 4, 8, 3, 0 }, // 1
{ 2, 6, 3, 4, 9, 1, 2, 10, 5, 8, 3, 0, -1, -1, -1 }},
{{ 3, 0, 9, 9, 5, 3, 5, 4, 3, 4, 8, 3, 2, 1, 10 },
{ 2, 6, 3, 3, 0, 9, 5, 4, 8, 2, 1, 10, -1, -1, -1 }},
{{ 8, 3, 2, 2, 10, 8, 10, 1, 8, 1, 0, 8, 5, 4, 9 },
{ 2, 6, 3, 8, 3, 2, 10, 1, 0, 5, 4, 9, -1, -1, -1 }}},
/* 74: 1, 3, 6, */ {{{ 0, 1, 10, 10, 6, 0, 6, 5, 0, 5, 9, 0, 3, 2, 11 }, // 2
{ 2, 6, 3, 0, 1, 10, 6, 5, 9, 3, 2, 11, -1, -1, -1 }},
{{ 5, 10, 2, 2, 3, 5, 3, 11, 5, 11, 6, 5, 1, 9, 0 },
{ 2, 6, 3, 5, 10, 2, 3, 11, 6, 1, 9, 0, -1, -1, -1 }},
{{ 9, 0, 3, 3, 11, 9, 11, 2, 9, 2, 1, 9, 6, 5, 10 },
{ 2, 6, 3, 9, 0, 3, 11, 2, 1, 6, 5, 10, -1, -1, -1 }}},
/* 82: 1, 4, 6, */ {{{ 6, 5, 9, 9, 0, 6, 0, 1, 6, 1, 10, 6, 7, 8, 4 }, // 3
{ 2, 6, 3, 6, 5, 9, 0, 1, 10, 7, 8, 4, -1, -1, -1 }},
{{ 7, 8, 0, 0, 1, 7, 1, 9, 7, 9, 4, 7, 10, 6, 5 },
{ 2, 6, 3, 7, 8, 0, 1, 9, 4, 10, 6, 5, -1, -1, -1 }},
{{ 8, 4, 5, 5, 10, 8, 10, 6, 8, 6, 7, 8, 0, 9, 1 },
{ 2, 6, 3, 8, 4, 5, 10, 6, 7, 0, 9, 1, -1, -1, -1 }}},
/* 88: 3, 4, 6, */ {{{ 4, 7, 11, 11, 2, 4, 2, 3, 4, 3, 8, 4, 5, 10, 6 }, // 4
{ 2, 6, 3, 4, 7, 11, 2, 3, 8, 5, 10, 6, -1, -1, -1 }},
{{ 5, 10, 2, 2, 3, 5, 3, 11, 5, 11, 6, 5, 8, 4, 7 },
{ 2, 6, 3, 5, 10, 2, 3, 11, 6, 8, 4, 7, -1, -1, -1 }},
{{ 10, 6, 7, 7, 8, 10, 8, 4, 10, 4, 5, 10, 2, 11, 3 },
{ 2, 6, 3, 10, 6, 7, 8, 4, 5, 2, 11, 3, -1, -1, -1 }}},
/* 91: 0, 1, 3, 4, 6, */ {{{ 9, 4, 1, 2, 1, 4, 10, 2, 4, 5, 10, 4, 7, 11, 6 }, // 5 Duale di 164
{ 2, 6, 3, 5, 10, 2, 1, 9, 4, 7, 11, 6, -1, -1, -1 }},
{{ 6, 7, 10, 1, 10, 7, 2, 1, 7, 11, 2, 7, 9, 4, 5 },
{ 2, 6, 3, 11, 2, 1, 10, 6, 7, 9, 4, 5, -1, -1, -1 }},
{{ 5, 9, 6, 11, 6, 9, 7, 11, 9, 4, 7, 9, 10, 1, 2 },
{ 2, 6, 3, 4, 7, 11, 6, 5, 9, 10, 1, 2, -1, -1, -1 }}},
/* 94: 1, 2, 3, 4, 6, */ {{{ 11, 6, 3, 0, 3, 6, 8, 0, 6, 7, 8, 6, 5, 9, 4 }, // 6 Duale di 161
{ 2, 6, 3, 7, 8, 0, 3, 11, 6, 5, 9, 4, -1, -1, -1 }},
{{ 4, 5, 8, 3, 8, 5, 0, 3, 5, 9, 0, 5, 11, 6, 7 },
{ 2, 6, 3, 9, 0, 3, 8, 4, 5, 11, 6, 7, -1, -1, -1 }},
{{ 7, 11, 4, 9, 4, 11, 5, 9, 11, 6, 5, 11, 8, 3, 0 },
{ 2, 6, 3, 6, 5, 9, 4, 7, 11, 8, 3, 0, -1, -1, -1 }}},
/* 122: 1, 3, 4, 5, 6, */ {{{ 11, 6, 3, 0, 3, 6, 8, 0, 6, 7, 8, 6, 1, 10, 2 }, // 7 Duale di 133
{ 2, 6, 3, 7, 8, 0, 3, 11, 6, 1, 10, 2, -1, -1, -1 }},
{{ 2, 1, 11, 7, 11, 1, 6, 7, 1, 10, 6, 1, 3, 0, 8 },
{ 2, 6, 3, 10, 6, 7, 11, 2, 1, 3, 0, 8, -1, -1, -1 }},
{{ 1, 10, 0, 8, 0, 10, 3, 8, 10, 2, 3, 10, 6, 7, 11 },
{ 2, 6, 3, 2, 3, 8, 0, 1, 10, 6, 7, 11, -1, -1, -1 }}},
/* 133: 0, 2, 7, */ {{{ 6, 11, 3, 3, 0, 6, 0, 8, 6, 8, 7, 6, 10, 1, 2 }, // 8
{ 2, 6, 3, 6, 11, 3, 0, 8, 7, 10, 1, 2, -1, -1, -1 }},
{{ 1, 2, 11, 11, 7, 1, 7, 6, 1, 6, 10, 1, 0, 3, 8 },
{ 2, 6, 3, 1, 2, 11, 7, 6, 10, 0, 3, 8, -1, -1, -1 }},
{{ 10, 1, 0, 0, 8, 10, 8, 3, 10, 3, 2, 10, 7, 6, 1 },
{ 2, 6, 3, 10, 1, 0, 8, 3, 2, 7, 6, 11, -1, -1, -1 }}},
/* 161: 0, 5, 7, */ {{{ 6, 11, 3, 3, 0, 6, 0, 8, 6, 8, 7, 6, 9, 5, 4 }, // 9
{ 2, 6, 3, 6, 11, 3, 0, 8, 7, 9, 5, 4, -1, -1, -1 }},
{{ 5, 4, 8, 8, 3, 5, 3, 0, 5, 0, 9, 5, 6, 11, 7 },
{ 2, 6, 3, 5, 4, 8, 3, 0, 9, 6, 11, 7, -1, -1, -1 }},
{{ 11, 7, 4, 4, 9, 11, 9, 5, 11, 5, 6, 11, 3, 8, 0 },
{ 2, 6, 3, 11, 7, 4, 9, 5, 6, 3, 8, 0, -1, -1, -1 }}},
/* 164: 2, 5, 7, */ {{{ 4, 9, 1, 1, 2, 4, 2, 10, 4, 10, 5, 4, 11, 7, 6 }, // 10
{ 2, 6, 3, 4, 9, 1, 2, 10, 5, 11, 7, 6, -1, -1, -1 }},
{{ 7, 6, 10, 10, 1, 7, 1, 2, 7, 2, 11, 7, 4, 9, 5 },
{ 2, 6, 3, 7, 6, 10, 1, 2, 11, 4, 9, 5, -1, -1, -1 }},
{{ 9, 5, 6, 6, 11, 9, 11, 7, 9, 7, 4, 9, 1, 10, 2 },
{ 2, 6, 3, 9, 5, 6, 11, 7, 4, 1, 10, 2, -1, -1, -1 }}},
/* 167: 0, 1, 2, 5, 7, */ {{{ 7, 4, 11, 2, 11, 4, 3, 2, 4, 8, 3, 4, 10, 5, 6 }, // 11 Duale di 88
{ 2, 6, 3, 8, 3, 2, 11, 7, 4, 10, 5, 6, -1, -1, -1 }},
{{ 10, 5, 2, 3, 2, 5, 11, 3, 5, 6, 11, 5, 4, 8, 7 },
{ 2, 6, 3, 6, 11, 3, 2, 10, 5, 4, 8, 7, -1, -1, -1 }},
{{ 6, 10, 7, 8, 7, 10, 4, 8, 10, 5, 4, 10, 11, 2, 3 },
{ 2, 6, 3, 5, 4, 8, 7, 6, 10, 11, 2, 3, -1, -1, -1 }}},
/* 173: 0, 2, 3, 5, 7, */ {{{ 5, 5, 9, 0, 9, 6, 1, 0, 6, 10, 1, 6, 8, 7, 4 }, // 12 Duale di 82
{ 2, 6, 3, 10, 1, 0, 9, 5, 6, 8, 7, 4, -1, -1, -1 }},
{{ 8, 7, 0, 1, 0, 7, 9, 1, 7, 4, 9, 7, 6, 10, 5 },
{ 2, 6, 3, 4, 9, 1, 0, 8, 7, 6, 10, 5, -1, -1, -1 }},
{{ 4, 8, 5, 10, 5, 8, 6, 10, 8, 7, 6, 8, 9, 0, 1 },
{ 2, 6, 3, 7, 6, 10, 5, 4, 8, 9, 0, 1, -1, -1, -1 }}},
/* 181: 0, 2, 4, 5, 7, */ {{{ 1, 0, 10, 6, 10, 0, 5, 6, 0, 9, 5, 0, 2, 3, 11 }, // 13 Duale di 74
{ 2, 6, 3, 9, 5, 6, 10, 1, 0, 2, 3, 11, -1, -1, -1 }},
{{ 10, 5, 2, 3, 2, 5, 11, 3, 5, 6, 11, 5, 9, 1, 0 },
{ 2, 6, 3, 6, 11, 3, 2, 10, 5, 9, 1, 0, -1, -1, -1 }},
{{ 0, 9, 3, 11, 3, 9, 2, 11, 9, 1, 2, 9, 5, 6, 10 },
{ 2, 6, 3, 1, 2, 11, 3, 0, 9, 5, 6, 10, -1, -1, -1 }}},
/* 218: 1, 3, 4, 6, 7, */ {{{ 9, 4, 1, 2, 1, 4, 10, 2, 4, 5, 10, 4, 3, 8, 0 }, // 14 Duale di 37
{ 2, 6, 3, 5, 10, 2, 1, 9, 4, 3, 8, 0, -1, -1, -1 }},
{{ 0, 3, 9, 5, 9, 3, 4, 5, 3, 8, 4, 3, 1, 2, 10 },
{ 2, 6, 3, 8, 4, 5, 9, 0, 3, 1, 2, 10, -1, -1, -1 }},
{{ 3, 8, 2, 10, 2, 8, 1, 10, 8, 0, 1, 8, 4, 5, 9 },
{ 2, 6, 3, 0, 1, 10, 2, 3, 8, 4, 5, 9, -1, -1, -1 }}},
/* 229: 0, 2, 5, 6, 7, */ {{{ 3, 2, 8, 4, 8, 2, 7, 4, 2, 11, 7, 2, 0, 1, 9 }, // 15 Duale di 26
{ 2, 6, 3, 11, 7, 4, 8, 3, 2, 0, 1, 9, -1, -1, -1 }},
{{ 8, 7, 0, 1, 0, 7, 9, 1, 7, 4, 9, 7, 2, 11, 3 },
{ 2, 6, 3, 4, 9, 1, 0, 8, 7, 2, 11, 3, -1, -1, -1 }},
{{ 2, 11, 1, 9, 1, 11, 0, 9, 11, 3, 0, 11, 7, 4, 8 },
{ 2, 6, 3, 3, 0, 9, 1, 2, 11, 7, 4, 8, -1, -1, -1 }}}
} ;
// Gestione dei casi in configurazione 10
// Vettore [indici in configurazione 10] ordina gli indici: se ho l'inidce j, che è in posizione i, per sapere
// la faccia da guardare leggo nAdjVox10[i]
static int nIndexConfig10[6] = { 60, 85, 105, 150, 170, 195} ;
// Tabella adiacenze di ambiguità: in questa configurazione le ambiguità riguardano due facce parallele
// contemporaneamente, vengono indicati solo gli indici i:1, j:2, k:3
static int nAdjVox10[6] = { 1, 3, 2, 2, 3, 1} ;
// Matrice [indici in configurazione 10, indice del caso Plus corrispondente]
static int nIndexVsIndex10[6][2] = { { 60 , 5 },
{ 85 , 1 },
{ 105 , 2 },
{ 150 , 3 },
{ 170 , 4 },
{ 195 , 0 }
} ;
static int Cases10Plus[6][2][12] = {
/* 195: 0, 1, 6, 7, */ {{ 7, 5, 9, 9, 8, 7, 1, 10, 11, 11, 3, 1 },// 0
{ 2, 4, 4, 7, 5, 9, 8, 1, 10, 11, 3, -1}},
/* 85: 0, 2, 4, 6, */ {{ 0, 4, 1, 4, 5, 1, 3, 2, 6, 3, 6, 7 },// 1
{ 2, 4, 4, 0, 4, 5, 1, 3, 2, 6, 7, -1 }},
/* 105: 0, 3, 5, 6, */ {{ 0, 9, 2, 2, 9, 10, 8, 11, 4, 4, 11, 6 },// 2
{ 2, 4, 4, 0, 9, 10, 2, 8, 11, 6, 4, -1 }},
/* 150: 1, 2, 4, 7, */ {{ 0, 2, 8, 8, 2, 11, 4, 10, 9, 4, 6, 10 },// 3
{ 2, 4, 4, 0, 2, 11, 8, 9, 4, 6, 10, -1}},
/* 170: 1, 3, 5, 7, */ {{ 0, 7, 4, 0, 3, 7, 1, 5, 6, 6, 2, 1 },// 4
{ 2, 4, 4, 0, 3, 7, 4, 1, 5, 6, 2, -1}},
/* 60: 2, 3, 4, 5, */ {{ 9, 1, 3, 3, 8, 9, 10, 5, 11, 11, 5, 7 },// 5
{ 2, 4, 4, 1, 3, 8, 9, 5, 7, 11, 10, -1 }}
};