В соответствии с последним указом Президента Берляндии каждый город страны должен иметь собственное здание Министерства Обороны (свой собственный Пентагон). Мегаполис Бербург не стал исключением. В этом городе n перекрестков, некоторые пары из которых соединены двунаправленными дорогами. Всего в городе m дорог, между каждой парой перекрестков не более одной.
В настоящий момент обсуждается выбор места расположения Пентагона в Бербурге. Решено, что Пентагон должен занимать территорию пяти различных перекрестков, которые соединены в цикл дорогами. В порядке цикла по дорогам будет построена специальная стена (как и положено — с высоким напряжением, колючей проволокой и т.п.). Таким образом, количество возможных способов построить Пентагон в городе равно количеству различных циклов длины 5, составленных из перекрестков и дорог.
Ваша задача вывести количество способов построить Пентагон в Бербурге. Учтите, что в этой задаче пройдет только достаточно оптимизированное решение, так что обязательно протестируйте свой код на максимальном тесте.
Выходные данные
Выведите единственное число — искомое количество способов. Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать поток cout (также вы можете использовать спецификатор %I64d).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 5 1 2 2 3 3 4 4 5 5 1
|
1
|
|
2
|
5 10 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5
|
12
|