Un toro in un negozio di porcellane (Platino)#10578

Un toro in un negozio di porcellane (Platino)

3 secondi
512 megabyte
Molto difficile

Il fattore John ha deciso che alla sua casa mancano delle decorazioni. Visitando il negozio di porcellane locale, ha trovato un'elegante statuetta di vetro a forma di mucca e ha deciso di comprarla, sapendo che sarebbe stata perfetta per la mensola sopra il suo camino.

La forma della statuetta della mucca è descritta tramite una griglia di caratteri di dimensione n \times m~(3 \le n, m \le 500), simile a quella mostrata di seguito. Le lettere minuscole indicano le celle che fanno parte della figura, con lettere diverse che corrispondono a colori diversi, mentre i simboli '' indicano celle vuote.

...............
...............
x..x...........
xxxx...........
xxxxaaaaaaa...
.xx.aaaaaaaaa..
....aaaaaaa.aa.
....ll...ll....
....vv...vv....
...............

Sfortunatamente, proprio prima che FJ riuscisse a effettuare l'acquisto, un toro è passato di corsa nel negozio, rompendo non solo la statuetta di FJ, ma anche molti altri oggetti di vetro presenti sugli scaffali! La statuetta di FJ si è rotta in pezzi, che presto si sono mescolati con pezzi diversi presenti sul pavimento. Ciascuno dei pezzi è descritto da una griglia di caratteri, simile alla figura originale.

Aiuta FJ a determinare quanti insiemi di pezzi, scelti tra i pezzi sul pavimento, possano essere incollati insieme per ricostruire la sua statuetta rotta.

I pezzi sul pavimento potrebbero essere stati capovolti orizzontalmente o verticalmente, oltre che ruotati di un angolo multiplo di gradi. Data la griglia originale e le griglie che descrivono i pezzi, è necessario trovare tutti gli insiemi di pezzi che possono essere uniti per formare l'immagine originale. I pezzi possono essere spostati, capovolti orizzontalmente o verticalmente e ruotati di un angolo multiplo di gradi.

Dopo aver sovrapposto i tre pezzi, essi devono formare esattamente l'immagine originale: ogni cella colorata dell'immagine originale deve essere rappresentata esattamente in uno dei tre pezzi, senza celle mancanti o sovrapposte.

Input

La prima riga contiene un singolo numero intero k~(4 \le k \le 100). Seguono k + 1 descrizioni di pezzi. La prima descrizione corrisponde alla statuetta di vetro originale a forma di mucca, mentre le successive descrizioni corrispondono ai pezzi rotti.

Ogni descrizione inizia con una riga contenente due numeri interi e c~(1 \le r, c \le 100). Le successive righe contengono lettere minuscole dell'alfabeto inglese, che descrivono il colore di ciascuna cella. Ogni pezzo è connesso orizzontalmente e verticalmente e contiene almeno una cella non vuota.

Output

Stampa il numero di terne i, j, k~(i < j < k), tali che i pezzi e possano essere disposti in modo da formare la statuetta di vetro originale a forma di mucca.

Esempi

Esistono tre soluzioni, che utilizzano i seguenti insiemi di pezzi: (0, 1, 2), (0, 2, 4) e (1, 3, 4).

Esempio 1

Loading
Loading