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

Кількість циклів

Кількість циклів

Формально, шлях у графі - це послідовність, що чергується, вершин та ребер u1, e1, u2, e2, u3, ..., uk, яка починається і завершується вершиною і така, що довільні сусідні вершини та ребра у ній інцидентні.

Цикл - це шлях, початкова і кінцева вершини якого співпадають. У циклі повинно бути хоча б одне ребро.

Простий шлях відрізняється від звичайного шляху тим, що у ньому не може бути вершин, які повторюються.

Простий цикл - це цикл, у якому немає вершин та ребер, що повторюються.

Задано неорієнтовний граф. Підрахуйте, скільки у ньому різних простих циклів. Відмітимо, що цили вважаються однаковими, якщо вони обходять одну і ту ж множину вершин у одному і тому ж порядку, можливо, починаючи при цьому з іншої вершини, або якщо порядок обходу протилежний. Наприклад, цикли з порядком обходу вершин 1, 2, 3, 1 та 2, 3, 1, 2 і 1, 3, 2, 1 вважаються однаковими, а цикли 1, 2, 3, 4, 1 і 1, 3, 4, 2, 1 - ні, оскільки порядок обходу вершин різний.

Вхідні дані

У першому рядку задано кількість вершин n (1n10) та ребер m у графі, відповідно. Наступні m рядків містять по два числа ui та vi (1ui, vin, uivi); кожен з таких рядків означає, що у графі існує ребро між вершинами ui та vi. У графі немає кратних ребер.

Вихідні дані

Виведіть кількість простих циклів у заданому графі.

Ліміт часу 1 секунда
Ліміт використання пам'яті 122.17 MiB
Вхідні дані #1
3 2
1 2
2 3
Вихідні дані #1
0
Вхідні дані #2
4 5
1 2
2 3
3 4
4 1
1 3
Вихідні дані #2
3