# Counting Simple Cycles
## Problem Statement
Given an undirected simple graph $G=(V, E)$ with $n$ vertices and $m$ edges, your task is to find the total number of distinct simple cycles in it. A simple graph is a graph that does not contain multiple edges between the same pair of vertices or self-loops. A simple cycle is a path in the graph that starts and ends at the same vertex, has a length of at least $3$, and does not repeat any intermediate vertices or edges. Two cycles are considered distinct if their sets of edges are different. This implies that cycles like $(v_1, v_2, v_3, v_1)$ and $(v_1, v_3, v_2, v_1)$ are considered the same simple cycle.
## Input Format
- The first line contains two integers $n$ and $m$ ($1 \le n \le 20$, $0 \le m \le \frac{n(n-1)}{2}$) - the number of vertices and edges in the graph, respectively.
- Each of the next $m$ lines contains two integers $u$ and $v$ ($1 \le u, v \le n$, $u \ne v$) - indicating an undirected edge between vertices $u$ and $v$.
## Output Format
Print a single integer, the total number of distinct simple cycles in the graph.
## Sample Test Cases
### Sample Input 1
```
7 16
1 2
1 3
1 5
1 7
2 3
2 4
2 6
3 4
3 5
3 6
3 7
4 5
4 6
4 7
5 6
6 7
```
### Sample Output 1
```
214
```
## Constraints
- $1 \le n \le 20$
- $0 \le m \le \frac{n(n-1)}{2}$ (which is at most $190$ for $n=20$)
- $1 \le u, v \le n$, $u \ne v$
- The graph is simple (no multiple edges between the same pair of vertices, no self-loops).
- Time limit: 1 second
- Memory limit: 256 MB
## Explanation
The given graph has $7$ vertices and $16$ edges. It forms a total of $214$ unique simple cycles. Due to the small number of vertices ($n \le 20$), algorithms with exponential time complexity in $n$ can be used to enumerate all simple cycles.
Loading problem statement...