#include <bits/stdc++.h>
const int MAXN = 3e5 + 5;
const int MAXM = 5e5 + 5;
struct Edge {
  int to, nex;
} e[MAXM << 1];
int head[MAXN];
int tol = 1;
void add(int u, int v) {
  e[tol].to = v;
  e[tol].nex = head[u];
  head[u] = tol;
  tol++;
}
bool vis[MAXN];
int son[MAXN], fa[MAXN], dep[MAXN];
void dfs(int x, int f, int deep) {
  vis[x] = 1;
  dep[x] = deep;
  fa[x] = f;
  for (int i = head[x]; ~i; i = e[i].nex) {
    int y = e[i].to;
    if (y == f || vis[y]) continue;
    dfs(y, x, deep + 1);
    son[x] = 1;
  }
}
int main() {
  memset(head, -1, sizeof(head));
  int n, m, k;
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 1; i <= m; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    add(x, y);
    add(y, x);
  }
  dfs(1, 0, 1);
  for (int i = 1; i <= n; i++) {
    if (!son[i] && dep[i] >= n / k) {
      printf("PATH\n%d\n", dep[i]);
      int x = i;
      for (int j = 1; j <= dep[i]; j++) {
        printf("%d ", x);
        x = fa[x];
      }
      return 0;
    }
  }
  printf("CYCLES\n");
  for (int x = 1; k && x < n; x++) {
    if (son[x]) continue;
    int len1 = 0, len2 = 0;
    int f1 = 0, f2 = 0;
    for (int i = head[x]; ~i; i = e[i].nex) {
      int y = e[i].to;
      if (dep[y] < dep[x] - 1) {
        if (!len1)
          len1 = dep[x] - dep[y], f1 = y;
        else
          len2 = dep[x] - dep[y], f2 = y;
      }
    }
    if (len1 > len2) {
      std::swap(len1, len2);
      std::swap(f1, f2);
    }
    if ((len1 + 1) % 3 != 0) {
      printf("%d\n", len1 + 1);
      int y = x;
      printf("%d", y);
      for (int i = 1; i <= len1; i++) {
        y = fa[y];
        printf(" %d", y);
      }
    } else if ((len2 + 1) % 3 != 0) {
      printf("%d\n", len2 + 1);
      int y = x;
      printf("%d\n", y);
      for (int i = 1; i <= len2; i++) {
        y = fa[y];
        printf(" %d", y);
      }
    } else {
      printf("%d\n", len2 - len1 + 2);
      int y = f1;
      printf("%d %d", x, y);
      for (int i = 1; i <= len2 - len1; i++) {
        y = fa[y];
        printf(" %d", y);
      }
    }
    printf("\n");
    k--;
  }
}
