#include using namespace std; #define pb push_back int lc(int a,int b) { int hcf=__gcd(a,b); int lc=(a*b)/hcf; return lc; } // int ans(char* binstr) // { // int n=strlen(binstr); // int ans=0; int tans=0; // for(int i=0;iadj[101]; int st=-1; int en=-1; int cp=0; int dfs(int src,int par) { vis[src]=1; for(auto i:adj[src]) { if(vis[i]==0) { if(dfs(i,src)) return 1; } else if(i!=par) { st=i; en=src; return 1; } } return 0; } vectorpaths; int fl=0; vector>ans; void pth(int src,int par) { vis[src]=1; paths.pb(src); if(src == en) { ans.pb(paths); paths.pop_back(); vis[src]=0; return; } for(int i:adj[src]) { // if(src == st && i == en) // continue; if(vis[i]==0 && i!=par) { pth(i,src); } } vis[src]=0; paths.pop_back(); } int main() { int n,e; cin>>n>>e; for(int i=0;i>u>>v; adj[u].pb(v); adj[v].pb(u); } // for(int i=0;i