func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m, top, tot, cnt;   int fir[202020], nxt[202020 << 1], to[202020 << 1];   int dfn[202020], fa[202020], st[202020];   struct evol {     int v, nm;   } l1[202020], l2[202020];   void add(int x, int y) {     nxt[++cnt] = fir[x];     fir[x] = cnt;     to[cnt] = y;   }   void dfs(int x) {     dfn[x] = ++tot;     l1[x] = l2[x] = (evol){tot, x};     for (int i = fir[x]; i; i = nxt[i])       if (to[i] != fa[x]) {         if (!dfn[to[i]]) {           fa[to[i]] = x;           dfs(to[i]);           if (l1[to[i]].v < l1[x].v) {             if (l2[to[i]].v < l1[x].v)               l1[x] = l1[to[i]], l2[x] = l2[to[i]];             else               l2[x] = l1[x], l1[x] = l1[to[i]];           } else if (l1[to[i]].v < l2[x].v)             l2[x] = l1[to[i]];         } else if (dfn[to[i]] < l1[x].v)           l2[x] = l1[x], l1[x] = (evol){dfn[to[i]], x};         else if (dfn[to[i]] < l2[x].v)           l2[x] = (evol){dfn[to[i]], x};       }     if (l2[x].v < dfn[x]) {       puts( YES );       int ed = l2[x].v;       top = 0;       for (int i = x;; i = fa[i]) {         st[++top] = i;         if (dfn[i] == ed) {           ed = i;           break;         }       }       printf( %d  , top);       for (int i = 1; i <= top; i++) printf( %d  , st[i]);       puts(  );       st[top = 1] = ed;       for (int i = l2[x].nm; st[top] != x; i = fa[i]) st[++top] = i;       printf( %d  , top);       while (top) printf( %d  , st[top--]);       puts(  );       dfn[0] = tot + 1;       for (int i = ed; dfn[st[top]] > l1[x].v; i = fa[i]) st[++top] = i;       for (int i = l1[x].nm; st[top] != x; i = fa[i]) st[++top] = i;       printf( %d  , top);       while (top) printf( %d  , st[top--]);       puts(  );       exit(0);     }   }   int main() {     scanf( %d%d , &n, &m);     for (int i = 1; i <= m; i++) {       int x, y;       scanf( %d%d , &x, &y);       add(x, y);       add(y, x);     }     for (int i = 1; i <= n; i++)       if (!dfn[i]) dfs(i);     puts( NO );     return 0;   }   