"T-ul nu se pronunță." - Un olimpic internațional
Cerință
Patru cuvinte pot forma un pătrat astfel încât două dintre ele ocupă laturile de sus și de jos, iar celălalte două ocupă laturile din stânga și dreaptă. Cuvintele de pe orizontală se citesc de la stânga la dreapta, iar cuvintele de pe verticală se citesc de sus în jos. Observați cum în colțuri, câte două cuvinte împărtășesc aceeași literă. În imaginea alăturată este ilustrată o posibilă împreunare a cuvintelor: INFO
, ANNA
, IARĂ
și OCNA
:
Dată o listă de cuvinte cu lungimi egale, sarcina dumneavoastră este să numărați câte pătrate diferite puteți forma. Nu puteți folosi același cuvânt de mai multe ori în formarea unui pătrat. Două pătrate sunt diferite dacă diferă în cel puțin un caracter.
Date de intrare
Pe prima linie a fișierului de intrare full-house.în
se află , numărul de cuvinte date.
Pe următoarele linii se află cuvintele în litere uppercase latinești. Cuvintele sunt distincte două câte două și sunt de aceeași lungime.
Date de ieșire
Pe prima linie a fișierului de ieșire full-house.out
se va găsi răspunsul cerut în enunțul problemei.
Restricții și precizări
- Cuvintele date sunt distincte două câte două și au aceeași lungime
- Lungimea maximă a unui cuvânt este de caractere
- Vă garantăm că în testele noastre, răspunsul încape pe tipul de date integer cu 64 de biți (long long in C/C++).
- Pentru puncte,
Exemplul 1
full-house.in
4
NIVA
HLAD
HSIN
DEDA
full-house.out
2
Exemplul 2
full-house.in
6
BAKA
BARA
BALC
CALC
ARHC
BLIC
full-house.out
8