#include <bits/stdc++.h>
using namespace std;
const int N = 3E5;
int n, m, k;
vector<int> g[N];
bool visited[N];
int par[N];
int deep_chi[N];
int dfs(int x, int p) {
  visited[x] = true;
  par[x] = p;
  int maxd = 0;
  for (auto y : g[x]) {
    if (y != p && !visited[y]) {
      int res = dfs(y, x);
      if (res > maxd) {
        maxd = res;
        deep_chi[x] = y;
      }
    }
  }
  return maxd + 1;
}
vector<int> get_cycle(int leaf) {
  int a = -1, b = -1;
  for (auto x : g[leaf])
    if (x != par[leaf]) {
      if (a == -1)
        a = x;
      else if (b == -1)
        b = x;
    }
  int cur = leaf;
  vector<int> vb;
  while (cur != b) {
    assert(cur != 0);
    cur = par[cur];
    if (cur == a) swap(a, b);
    vb.push_back(cur);
  }
  vector<int> va;
  while (cur != a) {
    assert(cur != 0);
    cur = par[cur];
    va.push_back(cur);
  }
  int VB = vb.size(), VA = va.size();
  if (VB + 1 >= 3 && (VB + 1) % 3 != 0) {
    vb.insert(vb.begin(), leaf);
    return vb;
  } else if (VB + VA + 1 >= 3 && (VB + VA + 1) % 3 != 0) {
    vb.insert(vb.end(), va.begin(), va.end());
    vb.insert(vb.begin(), leaf);
    return vb;
  } else if (VA + 2 >= 3 && (VA + 2) % 3 != 0) {
    va.insert(va.begin(), b);
    va.insert(va.begin(), leaf);
    return va;
  } else {
    printf("error no cycle suitable leaf %d\n", leaf + 1);
    exit(0);
  }
}
int main() {
  cin >> n >> m >> k;
  for (int i = 0; i < m; i++) {
    int u, v;
    scanf("%d%d", &u, &v);
    u--, v--;
    g[u].push_back(v);
    g[v].push_back(u);
  }
  int res_dfs = dfs(0, 0);
  int min_len = (n + k - 1) / k;
  if (res_dfs >= min_len) {
    printf("PATH\n");
    printf("%d\n", min_len);
    int cur = 0;
    for (int i = 0; i < min_len; i++) {
      printf("%d ", cur + 1);
      cur = deep_chi[cur];
    }
    printf("\n");
  } else {
    printf("CYCLES\n");
    int to_print = k;
    for (int i = 0; i < n; i++) {
      if (deep_chi[i] == 0 && to_print) {
        to_print--;
        vector<int> c = get_cycle(i);
        printf("%d\n", c.size());
        for (auto x : c) printf("%d ", x + 1);
        printf("\n");
      }
    }
  }
  return 0;
}
