Кроссворды

Будем для удобства называть слова top, bottom, left, right — соответственно верхнее слово, нижнее, левое и правое в расположении.

Для начала переберем, какое слово является top, какое bottom и т.д. (таких вариантов ровно 4! = 24 штуки). После этого посчитаем, сколько из фиксированных top, bottom, left и right можно составить кроссвордов:

Также можно было соптимизировать это решение до более хорошей асимптотики, но этого в задаче не требовалось.