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

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

1 секунда
122,174 мегабайта
Середня

Формально, шлях у графі — це послідовність вершин та ребер, що чергується, u_1, e_1, u_2, e_2, u_3, \ldots, u_k, яка починається і завершується вершиною і така, що суміжні вершини та ребра у ній інцидентні.

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

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

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

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

Вхідні дані

У першому рядку задано кількість вершин (1 \leq n \leq 10) та кількість ребер у графі. Наступні рядків містять по два числа u_i та v_i (1 \leq u_i, v_i \leq n, u_i \ne v_i), кожен з таких рядків означає, що у графі існує ребро між вершинами u_i і v_i. У графі немає кратних ребер.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading