eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Пути кораблей

Пути кораблей

Румынский турист отправился в путешествие по Средиземному морю. Он прибыл в один из городов на трех островах, которые он собирался посетить. На каждом острове расположено в точности \textbf{N} городов, в каждом из которых имеется порт. Турист планирует начать свое путешествие из города, в котором он сейчас находится, потом посетить остальные \textbf{3*N-1} города (каждый в точности один раз) и вернуться в город, из которого он стартовал, чтобы легко было добраться после путешествия домой. К несчастью, на всех дорогах трех островов находятся каннибалы. Вот почему путешествие по дороге между двумя городами одного острова очень опасно и следовательно, запрещено. К счастью, всегда существуют корабельные маршруты. Каждая пара городов, которые не находятся на одном острове, соединена корабельным маршрутом. Между городами одного острова маршрутов нет. Турист хочет узнать, сколькими способами он сможет спланировать свое путешествие по трем островам. \InputFile Входные данные содержат одно число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{30}) - количество городов на каждом из \textbf{3} островов. \InputFile Вывести одно число - количество способов, которыми турист сможет спланировать путешествие. Два путешествия считаются одинаковыми, если последовательности \textbf{3*N} городов одинаковы, либо если последовательность \textbf{3*N} городов первого путешествия совпадают с последовательностью \textbf{3*N} городов второго путешествия, взятой в противоположном порядке (например, если на каждом острове имеется один город, номер которого совпадает с номером острова, то путешествия \textbf{1-2-3-1} и \textbf{1-3-2-1} считаются одинаковыми).
Лимит времени 1 секунда
Лимит использования памяти 16 MiB
Входные данные #1
2
Выходные данные #1
16
Автор Mugurel Ionut Andreica
Источник Romanian Open Contest, December 2001