#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 9;
int n, m, k;
struct Edge {
  int v, nxt;
} e[N << 1];
int head[N], cnt;
inline void add(int u, int v) {
  e[cnt] = (Edge){v, head[u]};
  head[u] = cnt++;
}
int dep[N], f[N];
bool vis[N], leave[N];
int mx;
void dfs(int u) {
  if (dep[u] > dep[mx]) mx = u;
  vis[u] = leave[u] = 1;
  for (int i = head[u], v; ~i; i = e[i].nxt) {
    v = e[i].v;
    if (vis[v]) continue;
    leave[u] = 0;
    dep[v] = dep[u] + 1, f[v] = u;
    dfs(v);
  }
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n >> m >> k;
  memset(head, -1, sizeof(head));
  for (int i = 1, u, v; i <= m; i++) cin >> u >> v, add(u, v), add(v, u);
  dep[1] = 1;
  dfs(1);
  if (dep[mx] >= n / k) {
    cout << "PATH\n";
    cout << dep[mx] << endl;
    while (mx) cout << mx << " ", mx = f[mx];
    cout << endl;
    return 0;
  } else {
    cout << "CYCLES\n";
    for (int i = 1; i <= n && k; i++)
      if (leave[i]) {
        k--;
        int x = 0, y = 0;
        for (int j = head[i]; ~j; j = e[j].nxt) {
          if (e[j].v == f[i]) continue;
          if (x == 0)
            x = e[j].v;
          else {
            y = e[j].v;
            break;
          }
        }
        if ((dep[i] - dep[x] + 1) % 3) {
          cout << dep[i] - dep[x] + 1 << endl;
          int k = i;
          while (1) {
            cout << k << " ";
            if (k == x) break;
            k = f[k];
          }
          cout << endl;
        } else if ((dep[i] - dep[y] + 1) % 3) {
          cout << dep[i] - dep[y] + 1 << endl;
          int k = i;
          while (1) {
            cout << k << " ";
            if (k == y) break;
            k = f[k];
          }
          cout << endl;
        } else {
          if (dep[x] > dep[y]) swap(x, y);
          cout << dep[y] - dep[x] + 2 << endl;
          cout << i << " ";
          int k = y;
          while (1) {
            cout << k << " ";
            if (k == x) break;
            k = f[k];
          }
          cout << endl;
        }
      }
  }
  return 0;
}
